summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-10-08 13:21:57 (GMT)
committerKitware Robot <kwrobot@kitware.com>2020-10-08 13:22:21 (GMT)
commitbc19ceb6fed526e3d95879b616176392f7dc89d9 (patch)
tree5ebbf0ef60e7ccb438e1531ecb61468f0af63a47 /Modules
parent96dcf07d337097c2dfbda4255df43b37c98986d9 (diff)
parent5c66ac31e638dae7529e04064047722fca80ec01 (diff)
downloadCMake-bc19ceb6fed526e3d95879b616176392f7dc89d9.zip
CMake-bc19ceb6fed526e3d95879b616176392f7dc89d9.tar.gz
CMake-bc19ceb6fed526e3d95879b616176392f7dc89d9.tar.bz2
Merge topic 'check_cuda_helpers'
5c66ac31e6 CUDA: CheckLinkerFlag now supports CUDA da2622ff36 CUDA: Add Support to SourceCompiles|Runs and CheckCompilerFlags Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5338
Diffstat (limited to 'Modules')
-rw-r--r--Modules/CheckCompilerFlag.cmake4
-rw-r--r--Modules/CheckLinkerFlag.cmake2
-rw-r--r--Modules/CheckSourceCompiles.cmake3
-rw-r--r--Modules/CheckSourceRuns.cmake3
4 files changed, 12 insertions, 0 deletions
diff --git a/Modules/CheckCompilerFlag.cmake b/Modules/CheckCompilerFlag.cmake
index f2385d5..3ce1b9b 100644
--- a/Modules/CheckCompilerFlag.cmake
+++ b/Modules/CheckCompilerFlag.cmake
@@ -49,6 +49,10 @@ function(CHECK_COMPILER_FLAG _lang _flag _var)
elseif(_lang STREQUAL CXX)
set(_lang_src "int main() { return 0; }")
set(_lang_fail_regex FAIL_REGEX "command[ -]line option .* is valid for .* but not for C\\+\\+")
+ elseif(_lang STREQUAL CUDA)
+ set(_lang_src "__host__ int main() { return 0; }")
+ set(_lang_fail_regex FAIL_REGEX "command[ -]line option .* is valid for .* but not for C\\+\\+" # Host GNU
+ FAIL_REGEX "argument unused during compilation: .*") # Clang
elseif(_lang STREQUAL Fortran)
set(_lang_src " program test\n stop\n end program")
set(_lang_fail_regex FAIL_REGEX "command[ -]line option .* is valid for .* but not for Fortran")
diff --git a/Modules/CheckLinkerFlag.cmake b/Modules/CheckLinkerFlag.cmake
index 051e0bc..f56d365 100644
--- a/Modules/CheckLinkerFlag.cmake
+++ b/Modules/CheckLinkerFlag.cmake
@@ -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()
diff --git a/Modules/CheckSourceCompiles.cmake b/Modules/CheckSourceCompiles.cmake
index 70a733d..08fc153 100644
--- a/Modules/CheckSourceCompiles.cmake
+++ b/Modules/CheckSourceCompiles.cmake
@@ -89,6 +89,9 @@ function(CHECK_SOURCE_COMPILES _lang _source _var)
elseif(_lang STREQUAL CXX)
set(_lang_textual "C++")
set(_lang_ext "cxx")
+ elseif(_lang STREQUAL CUDA)
+ set(_lang_textual "CUDA")
+ set(_lang_ext "cu")
elseif(_lang STREQUAL Fortran)
set(_lang_textual "Fortran")
set(_lang_ext "F")
diff --git a/Modules/CheckSourceRuns.cmake b/Modules/CheckSourceRuns.cmake
index 6165123..20f3e1e 100644
--- a/Modules/CheckSourceRuns.cmake
+++ b/Modules/CheckSourceRuns.cmake
@@ -87,6 +87,9 @@ function(CHECK_SOURCE_RUNS _lang _source _var)
elseif(_lang STREQUAL CXX)
set(_lang_textual "C++")
set(_lang_ext "cxx")
+ elseif(_lang STREQUAL CUDA)
+ set(_lang_textual "CUDA")
+ set(_lang_ext "cu")
elseif(_lang STREQUAL Fortran)
set(_lang_textual "Fortran")
set(_lang_ext "F")