1 macro (add_cuda_test_macro name)
2 add_test_macro("${name}" ${ARGN})
3 set_property(TEST "${name}" APPEND
4 PROPERTY LABELS "CUDA")
7 add_cuda_test_macro(CudaOnly.Architecture Architecture)
8 add_cuda_test_macro(CudaOnly.ArchSpecial CudaOnlyArchSpecial)
9 add_cuda_test_macro(CudaOnly.CompileFlags CudaOnlyCompileFlags)
10 add_cuda_test_macro(CudaOnly.EnableStandard CudaOnlyEnableStandard)
11 add_cuda_test_macro(CudaOnly.ExportPTX CudaOnlyExportPTX)
12 add_cuda_test_macro(CudaOnly.SharedRuntimePlusToolkit CudaOnlySharedRuntimePlusToolkit)
13 add_cuda_test_macro(CudaOnly.Standard98 CudaOnlyStandard98)
14 add_cuda_test_macro(CudaOnly.Toolkit CudaOnlyToolkit)
15 add_cuda_test_macro(CudaOnly.ToolkitBeforeLang CudaOnlyToolkitBeforeLang)
16 add_cuda_test_macro(CudaOnly.ToolkitMultipleDirs CudaOnlyToolkitMultipleDirs)
17 add_cuda_test_macro(CudaOnly.WithDefs CudaOnlyWithDefs)
18 add_cuda_test_macro(CudaOnly.CircularLinkLine CudaOnlyCircularLinkLine)
19 add_cuda_test_macro(CudaOnly.ResolveDeviceSymbols CudaOnlyResolveDeviceSymbols)
20 add_cuda_test_macro(CudaOnly.SeparateCompilation main/CudaOnlySeparateCompilation)
21 add_cuda_test_macro(CudaOnly.SeparateCompilationPTX CudaOnlySeparateCompilationPTX)
23 if(CMake_TEST_CUDA AND NOT CMake_TEST_CUDA STREQUAL "Clang")
24 # Clang doesn't have flags for selecting the runtime.
25 add_cuda_test_macro(CudaOnly.SharedRuntimeViaCUDAFlags CudaOnlySharedRuntimeViaCUDAFlags)
27 # Only NVCC defines __CUDACC_DEBUG__ when compiling in debug mode.
28 add_cuda_test_macro(CudaOnly.GPUDebugFlag CudaOnlyGPUDebugFlag)
31 # The CUDA only ships the shared version of the toolkit libraries
34 add_cuda_test_macro(CudaOnly.StaticRuntimePlusToolkit CudaOnlyStaticRuntimePlusToolkit)
37 add_cuda_test_macro(CudaOnly.DeviceLTO CudaOnlyDeviceLTO)
40 # Tests for features that only work with MSVC
41 add_cuda_test_macro(CudaOnly.PDB CudaOnlyPDB)
44 add_test(NAME CudaOnly.DontResolveDeviceSymbols COMMAND
45 ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
47 "${CMAKE_CURRENT_SOURCE_DIR}/DontResolveDeviceSymbols/"
48 "${CMAKE_CURRENT_BINARY_DIR}/DontResolveDeviceSymbols/"
49 ${build_generator_args}
50 --build-project DontResolveDeviceSymbols
51 --build-options ${build_options}
52 --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
54 set_property(TEST "CudaOnly.DontResolveDeviceSymbols" APPEND
55 PROPERTY LABELS "CUDA")
57 add_test(NAME CudaOnly.RuntimeControls COMMAND
58 ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
60 "${CMAKE_CURRENT_SOURCE_DIR}/RuntimeControls/"
61 "${CMAKE_CURRENT_BINARY_DIR}/RuntimeControls/"
63 ${build_generator_args}
64 --build-project RuntimeControls
65 --build-options ${build_options}
66 --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
68 set_property(TEST "CudaOnly.RuntimeControls" APPEND
69 PROPERTY LABELS "CUDA")