diff options
author | Brad King <brad.king@kitware.com> | 2024-04-17 16:08:02 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2024-04-18 12:30:38 (GMT) |
commit | 1f4060442116511dddae5e322c824b92eb309e52 (patch) | |
tree | 8f6998174031d56bc17c7f1539630b28a0df54b1 | |
parent | 138436609fbc1d4dd9f0cac8c1a5ed3e53446091 (diff) | |
download | CMake-1f4060442116511dddae5e322c824b92eb309e52.zip CMake-1f4060442116511dddae5e322c824b92eb309e52.tar.gz CMake-1f4060442116511dddae5e322c824b92eb309e52.tar.bz2 |
Tests/CompileFeatures: Cover CUDA default standard level
-rw-r--r-- | Tests/CMakeLists.txt | 2 | ||||
-rw-r--r-- | Tests/CompileFeatures/CMakeLists.txt | 16 | ||||
-rw-r--r-- | Tests/CompileFeatures/default_dialect.cu | 1 |
3 files changed, 19 insertions, 0 deletions
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index fa388e0..42d958c 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -398,8 +398,10 @@ if(BUILD_TESTING) set(CompileFeatures_BUILD_OPTIONS -DCMake_TEST_C_STANDARDS=${TEST_STDS_C} -DCMake_TEST_CXX_STANDARDS=${TEST_STDS_CXX} + -DCMake_TEST_CUDA=${CMake_TEST_CUDA} ) ADD_TEST_MACRO(CompileFeatures CompileFeatures) + set_property(TEST CompileFeatures APPEND PROPERTY LABELS "CUDA") ADD_TEST_MACRO(CMakeCommands.target_compile_features) diff --git a/Tests/CompileFeatures/CMakeLists.txt b/Tests/CompileFeatures/CMakeLists.txt index d6acd7b..8f118f3 100644 --- a/Tests/CompileFeatures/CMakeLists.txt +++ b/Tests/CompileFeatures/CMakeLists.txt @@ -298,6 +298,22 @@ if (CMAKE_CXX_COMPILE_FEATURES) endif() endif () +if (CMake_TEST_CUDA + AND CMAKE_CUDA_COMPILE_FEATURES + AND CMAKE_CUDA_STANDARD_DEFAULT + AND NOT CMAKE_CUDA_FLAGS MATCHES "-std=") + add_executable(default_dialect_cuda default_dialect.cu) + target_compile_definitions(default_dialect_cuda PRIVATE + DEFAULT_CXX26=$<EQUAL:${CMAKE_CUDA_STANDARD_DEFAULT},26> + DEFAULT_CXX23=$<EQUAL:${CMAKE_CUDA_STANDARD_DEFAULT},23> + DEFAULT_CXX20=$<EQUAL:${CMAKE_CUDA_STANDARD_DEFAULT},20> + DEFAULT_CXX17=$<EQUAL:${CMAKE_CUDA_STANDARD_DEFAULT},17> + DEFAULT_CXX14=$<EQUAL:${CMAKE_CUDA_STANDARD_DEFAULT},14> + DEFAULT_CXX11=$<EQUAL:${CMAKE_CUDA_STANDARD_DEFAULT},11> + DEFAULT_CXX98=$<EQUAL:${CMAKE_CUDA_STANDARD_DEFAULT},03> + ) +endif () + # always add a target "CompileFeatures" if ((NOT CXX_expected_features) OR (NOT cxx_auto_type IN_LIST CXX_expected_features)) diff --git a/Tests/CompileFeatures/default_dialect.cu b/Tests/CompileFeatures/default_dialect.cu new file mode 100644 index 0000000..a549a5c --- /dev/null +++ b/Tests/CompileFeatures/default_dialect.cu @@ -0,0 +1 @@ +#include "default_dialect.cpp" |