summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2024-04-17 16:08:02 (GMT)
committerBrad King <brad.king@kitware.com>2024-04-18 12:30:38 (GMT)
commit1f4060442116511dddae5e322c824b92eb309e52 (patch)
tree8f6998174031d56bc17c7f1539630b28a0df54b1
parent138436609fbc1d4dd9f0cac8c1a5ed3e53446091 (diff)
downloadCMake-1f4060442116511dddae5e322c824b92eb309e52.zip
CMake-1f4060442116511dddae5e322c824b92eb309e52.tar.gz
CMake-1f4060442116511dddae5e322c824b92eb309e52.tar.bz2
Tests/CompileFeatures: Cover CUDA default standard level
-rw-r--r--Tests/CMakeLists.txt2
-rw-r--r--Tests/CompileFeatures/CMakeLists.txt16
-rw-r--r--Tests/CompileFeatures/default_dialect.cu1
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"