1
0
Эх сурвалжийг харах

Tests: Restore NVCC-specific CUDA tests

In commit a653ca9504 (Tests: Update CUDA tests to work with Clang,
2020-03-27) some tests were conditioned using `CMAKE_CUDA_COMPILER_ID`.
That is not defined when configuring CMake itself, so it accidentally
turned off NVCC-specific CUDA tests altogether.  Convert the conditions
to check `CMake_TEST_CUDA` for `Clang` instead.  That option is added
explicitly to builds where we want the tests to run, so we can set it to
a value indicating the CUDA compiler vendor.

In commit a653ca9504 (Tests: Update CUDA tests to work with Clang,
2020-03-27) the NVCC-specific `CudaOnly.GPUDebugFlag` test was
accidentally broken by removing a space when appending `-G` to the CUDA
flags.  This was covered by the test not running.  Restore the space.

Fixes: #20727
Brad King 5 жил өмнө
parent
commit
4c7cc264af

+ 1 - 1
Tests/Cuda/CMakeLists.txt

@@ -15,7 +15,7 @@ ADD_TEST_MACRO(Cuda.SharedRuntimePlusToolkit SharedRuntimePlusToolkit)
 
 # Separable compilation is currently only supported on NVCC. Disable tests
 # using it for other compilers.
-if(CMAKE_CUDA_COMPILER_ID STREQUAL "NVIDIA")
+if(CMake_TEST_CUDA AND NOT CMake_TEST_CUDA STREQUAL "Clang")
   ADD_TEST_MACRO(Cuda.Complex CudaComplex)
   ADD_TEST_MACRO(Cuda.ProperDeviceLibraries ProperDeviceLibraries)
   ADD_TEST_MACRO(Cuda.ProperLinkFlags ProperLinkFlags)

+ 1 - 1
Tests/CudaOnly/CMakeLists.txt

@@ -8,7 +8,7 @@ ADD_TEST_MACRO(CudaOnly.Standard98 CudaOnlyStandard98)
 ADD_TEST_MACRO(CudaOnly.Toolkit CudaOnlyToolkit)
 ADD_TEST_MACRO(CudaOnly.WithDefs CudaOnlyWithDefs)
 
-if(CMAKE_CUDA_COMPILER_ID STREQUAL "NVIDIA")
+if(CMake_TEST_CUDA AND NOT CMake_TEST_CUDA STREQUAL "Clang")
   # Separable compilation is currently only supported on NVCC. Disable tests
   # using it for other compilers.
   ADD_TEST_MACRO(CudaOnly.CircularLinkLine CudaOnlyCircularLinkLine)

+ 1 - 1
Tests/CudaOnly/GPUDebugFlag/CMakeLists.txt

@@ -7,7 +7,7 @@ set(CMAKE_CUDA_ARCHITECTURES 30)
 
 # Goal for this example:
 # Verify that enabling device debug works.
-string(APPEND CMAKE_CUDA_FLAGS "-G")
+string(APPEND CMAKE_CUDA_FLAGS " -G")
 
 add_executable(CudaOnlyGPUDebugFlag main.cu)
 

+ 1 - 1
Tests/RunCMake/NinjaMultiConfig/RunCMakeTest.cmake

@@ -286,7 +286,7 @@ run_cmake_command(NoUnusedVariables ${CMAKE_COMMAND} ${CMAKE_CURRENT_LIST_DIR}
   )
 
 # CudaSimple uses separable compilation, which is currently only supported on NVCC.
-if(CMake_TEST_CUDA AND CMAKE_CUDA_COMPILER_ID STREQUAL "NVIDIA")
+if(CMake_TEST_CUDA AND NOT CMake_TEST_CUDA STREQUAL "Clang")
   set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/CudaSimple-build)
   run_cmake_configure(CudaSimple)
   include(${RunCMake_TEST_BINARY_DIR}/target_files.cmake)

+ 1 - 1
Tests/RunCMake/target_link_options/RunCMakeTest.cmake

@@ -51,7 +51,7 @@ if (NOT CMAKE_C_COMPILER_ID STREQUAL "Intel")
   run_cmake_target(genex_DEVICE_LINK private LinkOptions_private --config Release)
   if (CMake_TEST_CUDA)
     # Separable compilation is only supported on NVCC.
-    if(CMAKE_CUDA_COMPILER_ID STREQUAL "NVIDIA")
+    if(NOT CMake_TEST_CUDA STREQUAL "Clang")
       run_cmake_target(genex_DEVICE_LINK CMP0105_UNSET LinkOptions_CMP0105_UNSET --config Release)
       run_cmake_target(genex_DEVICE_LINK CMP0105_OLD LinkOptions_CMP0105_OLD --config Release)
       run_cmake_target(genex_DEVICE_LINK CMP0105_NEW LinkOptions_CMP0105_NEW --config Release)