diff options
author | Brad King <brad.king@kitware.com> | 2020-10-08 13:21:57 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2020-10-08 13:22:21 (GMT) |
commit | bc19ceb6fed526e3d95879b616176392f7dc89d9 (patch) | |
tree | 5ebbf0ef60e7ccb438e1531ecb61468f0af63a47 /Modules | |
parent | 96dcf07d337097c2dfbda4255df43b37c98986d9 (diff) | |
parent | 5c66ac31e638dae7529e04064047722fca80ec01 (diff) | |
download | CMake-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.cmake | 4 | ||||
-rw-r--r-- | Modules/CheckLinkerFlag.cmake | 2 | ||||
-rw-r--r-- | Modules/CheckSourceCompiles.cmake | 3 | ||||
-rw-r--r-- | Modules/CheckSourceRuns.cmake | 3 |
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") |