소스 검색

Merge topic 'compiler-tests'

f891a75d5c Tests: Test CMakeTest*Compiler.cmake fallbacks

Acked-by: Kitware Robot <[email protected]>
Tested-by: buildbot <[email protected]>
Merge-request: !7722
Brad King 3 년 전
부모
커밋
9c9c7d68cb

+ 4 - 0
Tests/RunCMake/CMakeLists.txt

@@ -295,6 +295,10 @@ if(UNIX AND "${CMAKE_GENERATOR}" MATCHES "Unix Makefiles|Ninja")
   add_RunCMake_test(CompilerChange)
 endif()
 add_RunCMake_test(CompilerNotFound)
+if (APPLE AND CMAKE_C_COMPILER_ID MATCHES "Clang|GNU")
+  list(APPEND CompilerTest_ARGS -DCMake_TEST_OBJC=1)
+endif()
+add_RunCMake_test(CompilerTest)
 add_RunCMake_test(Configure -DMSVC_IDE=${MSVC_IDE})
 add_RunCMake_test(DisallowedCommands)
 if("${CMAKE_GENERATOR}" MATCHES "Unix Makefiles|Ninja")

+ 2 - 0
Tests/RunCMake/CompilerTest/C-stdout.txt

@@ -0,0 +1,2 @@
+-- Check for working C compiler: [^
+]* - works

+ 3 - 0
Tests/RunCMake/CompilerTest/C.cmake

@@ -0,0 +1,3 @@
+# Pretend the ABI check failed in order to force the fall-back test to run.
+set(CMAKE_C_ABI_COMPILED FALSE)
+enable_language(C)

+ 3 - 0
Tests/RunCMake/CompilerTest/CMakeLists.txt

@@ -0,0 +1,3 @@
+cmake_minimum_required(VERSION 3.24)
+project(${RunCMake_TEST} NONE)
+include(${RunCMake_TEST}.cmake)

+ 2 - 0
Tests/RunCMake/CompilerTest/CXX-stdout.txt

@@ -0,0 +1,2 @@
+-- Check for working CXX compiler: [^
+]* - works

+ 3 - 0
Tests/RunCMake/CompilerTest/CXX.cmake

@@ -0,0 +1,3 @@
+# Pretend the ABI check failed in order to force the fall-back test to run.
+set(CMAKE_CXX_ABI_COMPILED FALSE)
+enable_language(CXX)

+ 2 - 0
Tests/RunCMake/CompilerTest/OBJC-stdout.txt

@@ -0,0 +1,2 @@
+-- Check for working OBJC compiler: [^
+]* - works

+ 3 - 0
Tests/RunCMake/CompilerTest/OBJC.cmake

@@ -0,0 +1,3 @@
+# Pretend the ABI check failed in order to force the fall-back test to run.
+set(CMAKE_OBJC_ABI_COMPILED FALSE)
+enable_language(OBJC)

+ 2 - 0
Tests/RunCMake/CompilerTest/OBJCXX-stdout.txt

@@ -0,0 +1,2 @@
+-- Check for working OBJCXX compiler: [^
+]* - works

+ 3 - 0
Tests/RunCMake/CompilerTest/OBJCXX.cmake

@@ -0,0 +1,3 @@
+# Pretend the ABI check failed in order to force the fall-back test to run.
+set(CMAKE_OBJCXX_ABI_COMPILED FALSE)
+enable_language(OBJCXX)

+ 9 - 0
Tests/RunCMake/CompilerTest/RunCMakeTest.cmake

@@ -0,0 +1,9 @@
+include(RunCMake)
+
+run_cmake(C)
+run_cmake(CXX)
+
+if(CMake_TEST_OBJC)
+  run_cmake(OBJC)
+  run_cmake(OBJCXX)
+endif()