From 90aa0bb30543cde2c3f58a090735904e17092c44 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 6 Oct 2022 09:46:42 -0400 Subject: Tests: Move TryCompile check module cases to RunCMake.Check* The latter already have similar checks for similar modules. --- .../CheckSourceRuns/CheckCSourceRuns.cmake | 15 ++++++++++++++ .../CheckSourceRuns/CheckCXXSourceRuns.cmake | 22 ++++++++++++++++++++ .../CheckSourceRuns/CheckOBJCSourceRuns.cmake | 21 +++++++++++++++++++ .../CheckSourceRuns/CheckOBJCXXSourceRuns.cmake | 24 ++++++++++++++++++++++ Tests/RunCMake/CheckSourceRuns/RunCMakeTest.cmake | 4 ++++ 5 files changed, 86 insertions(+) create mode 100644 Tests/RunCMake/CheckSourceRuns/CheckCSourceRuns.cmake create mode 100644 Tests/RunCMake/CheckSourceRuns/CheckCXXSourceRuns.cmake create mode 100644 Tests/RunCMake/CheckSourceRuns/CheckOBJCSourceRuns.cmake create mode 100644 Tests/RunCMake/CheckSourceRuns/CheckOBJCXXSourceRuns.cmake (limited to 'Tests/RunCMake/CheckSourceRuns') diff --git a/Tests/RunCMake/CheckSourceRuns/CheckCSourceRuns.cmake b/Tests/RunCMake/CheckSourceRuns/CheckCSourceRuns.cmake new file mode 100644 index 0000000000..c0f9463362 --- /dev/null +++ b/Tests/RunCMake/CheckSourceRuns/CheckCSourceRuns.cmake @@ -0,0 +1,15 @@ + +enable_language (C) +include(CheckCSourceRuns) + +set(C 1) # test that this is tolerated + +check_c_source_runs("int main() {return 2;}" SHOULD_FAIL) +if(SHOULD_FAIL) + message(SEND_ERROR "check_c_source_runs succeeded, but should have failed.") +endif() + +check_c_source_runs("int main() {return 0;}" SHOULD_RUN) +if(NOT SHOULD_RUN) + message(SEND_ERROR "check_c_source_runs failed for valid C executable.") +endif() diff --git a/Tests/RunCMake/CheckSourceRuns/CheckCXXSourceRuns.cmake b/Tests/RunCMake/CheckSourceRuns/CheckCXXSourceRuns.cmake new file mode 100644 index 0000000000..c4c9026c01 --- /dev/null +++ b/Tests/RunCMake/CheckSourceRuns/CheckCXXSourceRuns.cmake @@ -0,0 +1,22 @@ + +enable_language (CXX) +include(CheckCXXSourceRuns) + +set(CXX 1) # test that this is tolerated + +check_cxx_source_runs("int main() {return 2;}" SHOULD_FAIL) +if(SHOULD_FAIL) + message(SEND_ERROR "check_cxx_source_runs succeeded, but should have failed.") +endif() + +check_cxx_source_runs( +[=[ + #include + int main() { + return 0; + } +]=] + SHOULD_RUN) +if(NOT SHOULD_RUN) + message(SEND_ERROR "check_cxx_source_runs failed for valid C executable.") +endif() diff --git a/Tests/RunCMake/CheckSourceRuns/CheckOBJCSourceRuns.cmake b/Tests/RunCMake/CheckSourceRuns/CheckOBJCSourceRuns.cmake new file mode 100644 index 0000000000..604b2a1e45 --- /dev/null +++ b/Tests/RunCMake/CheckSourceRuns/CheckOBJCSourceRuns.cmake @@ -0,0 +1,21 @@ +enable_language (OBJC) +include(CheckOBJCSourceRuns) + +set(OBJC 1) # test that this is tolerated + +check_objc_source_runs("int main() {return 2;}" SHOULD_FAIL) +if(SHOULD_FAIL) + message(SEND_ERROR "check_objc_source_runs succeeded, but should have failed.") +endif() + +check_objc_source_runs([[ + #import + int main() { + NSObject *foo; + return 0; + } +]] SHOULD_BUILD) + +if(NOT SHOULD_BUILD) + message(SEND_ERROR "Test fail for valid OBJC source.") +endif() diff --git a/Tests/RunCMake/CheckSourceRuns/CheckOBJCXXSourceRuns.cmake b/Tests/RunCMake/CheckSourceRuns/CheckOBJCXXSourceRuns.cmake new file mode 100644 index 0000000000..b220166665 --- /dev/null +++ b/Tests/RunCMake/CheckSourceRuns/CheckOBJCXXSourceRuns.cmake @@ -0,0 +1,24 @@ +enable_language (OBJCXX) +include(CheckOBJCXXSourceRuns) + +set(OBJCXX 1) # test that this is tolerated + +check_objcxx_source_runs("int main() {return 2;}" SHOULD_FAIL) +if(SHOULD_FAIL) + message(SEND_ERROR "check_objcxx_source_runs succeeded, but should have failed.") +endif() + +check_objcxx_source_runs([[ + #include + #import + int main() { + std::vector v; + NSObject *foo; + return 0; + } +]] SHOULD_BUILD) + + +if(NOT SHOULD_BUILD) + message(SEND_ERROR "Test fail for OBJCXX source.") +endif() diff --git a/Tests/RunCMake/CheckSourceRuns/RunCMakeTest.cmake b/Tests/RunCMake/CheckSourceRuns/RunCMakeTest.cmake index ee5ab22de2..64cecfc0e5 100644 --- a/Tests/RunCMake/CheckSourceRuns/RunCMakeTest.cmake +++ b/Tests/RunCMake/CheckSourceRuns/RunCMakeTest.cmake @@ -4,10 +4,14 @@ run_cmake(NotEnabledLanguage) run_cmake(NonExistentLanguage) run_cmake(UnknownArgument) +run_cmake(CheckCSourceRuns) +run_cmake(CheckCXXSourceRuns) run_cmake(CheckSourceRunsC) run_cmake(CheckSourceRunsCXX) if (APPLE) + run_cmake(CheckOBJCSourceRuns) + run_cmake(CheckOBJCXXSourceRuns) run_cmake(CheckSourceRunsOBJC) run_cmake(CheckSourceRunsOBJCXX) endif() -- cgit v1.2.1