浏览代码

Merge topic 'macos-check-archs'

74beb6dba8 Xcode: Restore support for CMAKE_OSX_ARCHITECTURES=$(ARCHS_STANDARD)

Acked-by: Kitware Robot <[email protected]>
Acked-by: Lorenz Bucher <[email protected]>
Merge-request: !9675
Brad King 1 年之前
父节点
当前提交
67b84e6bc4

+ 1 - 1
Modules/CMakeDetermineCompilerABI.cmake

@@ -99,7 +99,7 @@ function(CMAKE_DETERMINE_COMPILER_ABI lang src)
     # Load the resulting information strings.
     if(CMAKE_${lang}_ABI_COMPILED)
       message(CHECK_PASS "done")
-      if(CMAKE_HOST_APPLE AND CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+      if(CMAKE_HOST_APPLE AND CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND NOT CMAKE_OSX_ARCHITECTURES MATCHES "\\$")
         file(READ_MACHO "${BIN}" ARCHITECTURES archs CAPTURE_ERROR macho_error) # undocumented file() subcommand
         if (NOT macho_error)
           # sort and prune the list of found architectures

+ 1 - 0
Tests/RunCMake/XcodeProject/ArchsStandard-stdout.txt

@@ -0,0 +1 @@
+-- Detecting C compiler ABI info - done

+ 4 - 0
Tests/RunCMake/XcodeProject/ArchsStandard.cmake

@@ -0,0 +1,4 @@
+if(NOT CMAKE_OSX_ARCHITECTURES STREQUAL "$(ARCHS_STANDARD)")
+  message(FATAL_ERROR "CMAKE_OSX_ARCHITECTURES is not $(ARCHS_STANDARD)")
+endif()
+enable_language(C)

+ 2 - 0
Tests/RunCMake/XcodeProject/RunCMakeTest.cmake

@@ -9,6 +9,8 @@ function(RunClean)
 endfunction()
 RunClean()
 
+run_cmake_with_options(ArchsStandard "-DCMAKE_OSX_ARCHITECTURES=$(ARCHS_STANDARD)")
+
 run_cmake(ExplicitCMakeLists)
 run_cmake(ImplicitCMakeLists)
 run_cmake(InterfaceLibSources)