summaryrefslogtreecommitdiff
path: root/Tests/RunCMake/CheckSourceRuns
diff options
context:
space:
mode:
authorRobert Maynard <robert.maynard@kitware.com>2020-09-24 15:31:55 -0400
committerBrad King <brad.king@kitware.com>2020-10-08 08:30:59 -0400
commitda2622ff366e6089a98109c68ececac58d598b66 (patch)
tree8205c6455c1c996ccb39d6270b8de385a92e78bb /Tests/RunCMake/CheckSourceRuns
parentc61f820a7fb1b191fe5591805f7e53fc52424f93 (diff)
downloadcmake-da2622ff366e6089a98109c68ececac58d598b66.tar.gz
CUDA: Add Support to SourceCompiles|Runs and CheckCompilerFlags
Diffstat (limited to 'Tests/RunCMake/CheckSourceRuns')
-rw-r--r--Tests/RunCMake/CheckSourceRuns/CheckCUDASourceRuns.cmake21
-rw-r--r--Tests/RunCMake/CheckSourceRuns/RunCMakeTest.cmake4
2 files changed, 25 insertions, 0 deletions
diff --git a/Tests/RunCMake/CheckSourceRuns/CheckCUDASourceRuns.cmake b/Tests/RunCMake/CheckSourceRuns/CheckCUDASourceRuns.cmake
new file mode 100644
index 0000000000..01e5ac83c8
--- /dev/null
+++ b/Tests/RunCMake/CheckSourceRuns/CheckCUDASourceRuns.cmake
@@ -0,0 +1,21 @@
+
+enable_language (CUDA)
+include(CheckSourceRuns)
+
+check_source_runs(CUDA "int main() {return 2;}" SHOULD_FAIL)
+if(SHOULD_FAIL)
+ message(SEND_ERROR "CUDA check_source_runs succeeded, but should have failed.")
+endif()
+
+check_source_runs(CUDA
+[=[
+ #include <vector>
+ __device__ __host__ void fake_function();
+ __host__ int main() {
+ return 0;
+ }
+]=]
+ SHOULD_RUN)
+if(NOT SHOULD_RUN)
+ message(SEND_ERROR "CUDA check_source_runs failed for valid CUDA executable.")
+endif()
diff --git a/Tests/RunCMake/CheckSourceRuns/RunCMakeTest.cmake b/Tests/RunCMake/CheckSourceRuns/RunCMakeTest.cmake
index 8bcde6aa04..b27b08daa2 100644
--- a/Tests/RunCMake/CheckSourceRuns/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CheckSourceRuns/RunCMakeTest.cmake
@@ -14,3 +14,7 @@ endif()
if (CMAKE_Fortran_COMPILER_ID)
run_cmake(CheckFortranSourceRuns)
endif()
+
+if (CMake_TEST_CUDA)
+ run_cmake(CheckCUDASourceRuns)
+endif()