mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-14 02:08:27 +08:00
CUDA: CheckLinkerFlag now supports CUDA
This commit is contained in:

committed by
Brad King

parent
da2622ff36
commit
5c66ac31e6
@@ -9,3 +9,6 @@ cuda-check-support
|
||||
|
||||
* The :module:`CheckSourceRuns` module was extended to
|
||||
support 'CUDA'.
|
||||
|
||||
* The :module:`CheckLinkerFlag` module has been extended to
|
||||
support the validity of CUDA link flags.
|
||||
|
@@ -66,6 +66,8 @@ function(CHECK_LINKER_FLAG _lang _flag _var)
|
||||
set (_source "int main() { return 0; }")
|
||||
elseif (_lang STREQUAL "Fortran")
|
||||
set (_source " program test\n stop\n end program")
|
||||
elseif (_lang MATCHES "CUDA")
|
||||
set (_source "__host__ int main() { return 0; }")
|
||||
elseif (_lang MATCHES "^(OBJC|OBJCXX)$")
|
||||
set (_source "#ifndef __OBJC__\n# error \"Not an Objective-C++ compiler\"\n#endif\nint main(void) { return 0; }")
|
||||
else()
|
||||
|
@@ -555,7 +555,9 @@ add_RunCMake_test(CheckIPOSupported)
|
||||
if (CMAKE_SYSTEM_NAME MATCHES "(Linux|Darwin)"
|
||||
AND (CMAKE_C_COMPILER_ID MATCHES "Clang|GNU" OR CMAKE_Fortran_COMPILER_ID MATCHES "GNU"))
|
||||
add_RunCMake_test(CheckLinkerFlag -DCMAKE_C_COMPILER_ID=${CMAKE_C_COMPILER_ID}
|
||||
-DCMAKE_Fortran_COMPILER_ID=${CMAKE_Fortran_COMPILER_ID})
|
||||
-DCMAKE_Fortran_COMPILER_ID=${CMAKE_Fortran_COMPILER_ID}
|
||||
-DCMake_TEST_CUDA=${CMake_TEST_CUDA})
|
||||
set_property(TEST RunCMake.CheckLinkerFlag APPEND PROPERTY LABELS "CUDA")
|
||||
endif()
|
||||
|
||||
|
||||
|
3
Tests/RunCMake/CheckLinkerFlag/CheckCUDALinkerFlag.cmake
Normal file
3
Tests/RunCMake/CheckLinkerFlag/CheckCUDALinkerFlag.cmake
Normal file
@@ -0,0 +1,3 @@
|
||||
|
||||
set (CHECK_LANGUAGE CUDA)
|
||||
include ("${CMAKE_CURRENT_SOURCE_DIR}/CheckLinkerFlag.cmake")
|
@@ -12,3 +12,7 @@ endif()
|
||||
if (CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
|
||||
run_cmake(CheckFortranLinkerFlag)
|
||||
endif()
|
||||
|
||||
if (CMake_TEST_CUDA)
|
||||
run_cmake(CheckCUDALinkerFlag)
|
||||
endif()
|
||||
|
Reference in New Issue
Block a user