mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-04 21:30:01 -05:00
Merge topic 'check_cuda_helpers'
5c66ac31e6CUDA: CheckLinkerFlag now supports CUDAda2622ff36CUDA: Add Support to SourceCompiles|Runs and CheckCompilerFlags Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5338
This commit is contained in:
@@ -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")
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user