Skip to content

Commit 4a4d577

Browse files
committed
Adding C++26 to the test matrix
1 parent ca196aa commit 4a4d577

1 file changed

Lines changed: 19 additions & 17 deletions

File tree

test/CMakeLists.txt

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,41 +20,43 @@ if(ISPTR_ENABLE_PYTHON AND NOT Python3_Development_FOUND)
2020
endif()
2121

2222

23-
set (TEST_SUFFIXES
24-
17
25-
20
26-
23
27-
)
23+
foreach(STANDARD 17 20 23 26)
24+
if(cxx_std_${STANDARD} IN_LIST CMAKE_CXX_COMPILE_FEATURES)
25+
list(APPEND TEST_STANDARDS ${STANDARD})
26+
endif()
27+
endforeach()
2828

29-
set(CXX_STANDARD_17 17)
30-
set(CXX_STANDARD_20 20)
31-
set(CXX_STANDARD_23 23)
3229

33-
set(TEST_VARIANTS_17 "headers")
34-
set(TEST_VARIANTS_20 "headers")
35-
set(TEST_VARIANTS_23 "headers")
30+
foreach(TEST_STANDARD ${TEST_STANDARDS})
31+
set(CXX_STANDARD_${TEST_STANDARD} ${TEST_STANDARD})
32+
set(TEST_VARIANTS_${TEST_STANDARD} "headers")
33+
endforeach()
34+
3635

3736
if (${ISPTR_ENABLE_MODULE})
3837
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.28")
39-
list(APPEND TEST_VARIANTS_20 "module")
40-
list(APPEND TEST_VARIANTS_23 "module")
38+
foreach(TEST_STANDARD ${TEST_STANDARDS})
39+
if (TEST_STANDARD GREATER_EQUAL 20)
40+
list(APPEND TEST_VARIANTS_${TEST_STANDARD} "module")
41+
endif()
42+
endforeach()
4143
else()
4244
message(WARNING "CMake version ${CMAKE_VERSION} doesn't support modules, ignoring ISPTR_ENABLE_MODULE")
4345
endif()
4446
endif()
4547

4648
set(TEST_COMMAND "")
4749

48-
foreach(TEST_SUFFIX ${TEST_SUFFIXES})
50+
foreach(TEST_STANDARD ${TEST_STANDARDS})
4951

50-
foreach(TEST_VARIANT ${TEST_VARIANTS_${TEST_SUFFIX}})
52+
foreach(TEST_VARIANT ${TEST_VARIANTS_${TEST_STANDARD}})
5153

52-
set(TEST_TARGET_NAME test-${TEST_SUFFIX}-${TEST_VARIANT})
54+
set(TEST_TARGET_NAME test-${TEST_STANDARD}-${TEST_VARIANT})
5355

5456
add_executable(${TEST_TARGET_NAME} EXCLUDE_FROM_ALL)
5557

5658
set_target_properties(${TEST_TARGET_NAME} PROPERTIES
57-
CXX_STANDARD ${CXX_STANDARD_${TEST_SUFFIX}}
59+
CXX_STANDARD ${CXX_STANDARD_${TEST_STANDARD}}
5860
CXX_STANDARD_REQUIRED OFF
5961
CXX_EXTENSIONS OFF
6062
CXX_VISIBILITY_PRESET hidden

0 commit comments

Comments
 (0)