Tests/CompileFeatures: Cover CUDA default standard level

This commit is contained in:
Brad King
2024-04-17 12:08:02 -04:00
parent 138436609f
commit 1f40604421
3 changed files with 19 additions and 0 deletions

View File

@@ -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)

View File

@@ -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))

View File

@@ -0,0 +1 @@
#include "default_dialect.cpp"