From 1f4060442116511dddae5e322c824b92eb309e52 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 17 Apr 2024 12:08:02 -0400 Subject: Tests/CompileFeatures: Cover CUDA default standard level --- Tests/CMakeLists.txt | 2 ++ Tests/CompileFeatures/CMakeLists.txt | 16 ++++++++++++++++ Tests/CompileFeatures/default_dialect.cu | 1 + 3 files changed, 19 insertions(+) create mode 100644 Tests/CompileFeatures/default_dialect.cu 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=$ + DEFAULT_CXX23=$ + DEFAULT_CXX20=$ + DEFAULT_CXX17=$ + DEFAULT_CXX14=$ + DEFAULT_CXX11=$ + DEFAULT_CXX98=$ + ) +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" -- cgit v0.12