Skip to content

Commit f3f11eb

Browse files
StephanKaarnemertz
authored andcommitted
changed name for standard, default is 20, added multiple cxx to pipeline
1 parent ca0f5e4 commit f3f11eb

3 files changed

Lines changed: 8 additions & 5 deletions

File tree

.github/workflows/build_cmake.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ env:
1313

1414
jobs:
1515
build:
16-
name: ${{ matrix.os }}, ${{ matrix.compiler.name }}
16+
name: ${{ matrix.os }}, ${{ matrix.compiler.name }}, C++${{ matrix.cxx }}
1717
runs-on: ${{ matrix.os }}
1818
strategy:
1919
fail-fast: false # 'false' means Don't stop matrix workflows even if some matrix entry fails.
@@ -26,6 +26,7 @@ jobs:
2626
{name: 'Clang 14', cpp: clang++-14, c: clang-14, pkgs: 'clang-14 llvm-14'},
2727
{name: 'Clang 15', cpp: clang++-15, c: clang-15, pkgs: 'clang-15 llvm-15'}
2828
]
29+
cxx: [14, 17, 20]
2930

3031
steps:
3132
- uses: actions/checkout@v3
@@ -73,7 +74,7 @@ jobs:
7374
# We need to source the profile file to make sure conan is in PATH
7475
run: |
7576
source ~/.profile
76-
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCPP_STARTER_USE_SML=ON -DCPP_STARTER_USE_BOOST_BEAST=ON -DCPP_STARTER_USE_CROW=ON -DCPP_STARTER_USE_CPPZMQ_PROTO=ON
77+
cmake $GITHUB_WORKSPACE -DCXX_STANDARD=${{ matrix.cxx }} -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCPP_STARTER_USE_SML=ON -DCPP_STARTER_USE_BOOST_BEAST=ON -DCPP_STARTER_USE_CROW=ON -DCPP_STARTER_USE_CPPZMQ_PROTO=ON
7778
7879
- name: Build
7980
working-directory: ${{runner.workspace}}/build

CMakeLists.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ PROJECT(myproject
55
LANGUAGES CXX
66
VERSION 0.0.1)
77

8-
SET(CMAKE_CXX_STANDARD 20)
8+
if(NOT DEFINED CXX_STANDARD)
9+
set(CXX_STANDARD 20)
10+
endif()
911

1012
INCLUDE(cmake/StandardProjectSettings.cmake)
1113
INCLUDE(cmake/PreventInSourceBuilds.cmake)
@@ -22,7 +24,7 @@ CONFIGURE_FILE("templates/version.hpp.in" "${CMAKE_BINARY_DIR}/generated/include
2224

2325
# Link this 'library' to set the c++ standard / compile-time options requested
2426
ADD_LIBRARY(project_options INTERFACE)
25-
TARGET_COMPILE_FEATURES(project_options INTERFACE cxx_std_${CMAKE_CXX_STANDARD})
27+
TARGET_COMPILE_FEATURES(project_options INTERFACE cxx_std_${CXX_STANDARD})
2628

2729
IF(CMAKE_CXX_COMPILER_ID MATCHES ".*Clang")
2830
OPTION(ENABLE_BUILD_WITH_TIME_TRACE "Enable -ftime-trace to generate time tracing .json files on clang" OFF)

cmake/Conan.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ macro(run_conan)
2525
${CONAN_EXTRA_OPTIONS}
2626
gtest:build_gmock=True
2727
SETTINGS
28-
compiler.cppstd=${CMAKE_CXX_STANDARD}
28+
compiler.cppstd=${CXX_STANDARD}
2929
BASIC_SETUP
3030
CMAKE_TARGETS # individual targets to link to
3131
BUILD

0 commit comments

Comments
 (0)