Skip to content

[Serialization] [Feature] Add experimental C++26 reflection support #3

[Serialization] [Feature] Add experimental C++26 reflection support

[Serialization] [Feature] Add experimental C++26 reflection support #3

# Copyright (c) 2020 ETH Zurich
# Copyright (c) 2023 The STE||AR Group
#
# SPDX-License-Identifier: BSL-1.0
# Distributed under the Boost Software License, Version 1.0. (See accompanying
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
name: Linux CI (Release, Clang P2996 Reflection)
on: [pull_request]
jobs:
build:
runs-on: ubuntu-latest
container: stellargroup/build_env:17
steps:
- uses: actions/checkout@v5
- name: Configure
shell: bash
run: |
cmake \
-Bbuild \
-GNinja \
-DHPX_WITH_MALLOC=system \
-DCMAKE_BUILD_TYPE=Debug \
-DHPX_WITH_CXX_STANDARD=26 \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
-DCMAKE_CXX_FLAGS="-freflection-latest -stdlib=libc++ -D__cpp_lib_experimental_meta=202403L" \
-DCMAKE_EXE_LINKER_FLAGS="-stdlib=libc++ -L${CLANG_P2996_LIBS} -Wl,-rpath,${CLANG_P2996_LIBS} -L${SYSTEM_LINKER_PATH} -latomic" \
-DCMAKE_SHARED_LINKER_FLAGS="-stdlib=libc++ -L${CLANG_P2996_LIBS} -Wl,-rpath,${CLANG_P2996_LIBS} -L${SYSTEM_LINKER_PATH} -latomic" \
-DCMAKE_REQUIRED_LIBRARIES="atomic" \
-DHPX_INTERNAL_CACHE_LINE_SIZE_DETECT=64 \
-DHPX_WITH_FETCH_ASIO=ON \
-DHPX_WITH_EXAMPLES=OFF \
-DHPX_WITH_TESTS=ON \
-DHPX_WITH_TESTS_MAX_THREADS_PER_LOCALITY=2 \
-DHPX_SERIALIZATION_WITH_ALLOW_AUTO_GENERATE=ON \
-DHPX_WITH_CHECK_MODULE_DEPENDENCIES=On \
..
- name: Build
shell: bash
run: |
cmake --build build --target all
cmake --build build --target examples