瀏覽代碼

OS X: Ignore MACOSX_DEPLOYMENT_TARGET during Xcode compiler id

Xcode honors this environment variable if the project file does not set
it.  Hide it from Xcode while building the compiler id project.
Brad King 13 年之前
父節點
當前提交
df928646ba
共有 1 個文件被更改,包括 8 次插入0 次删除
  1. 8 0
      Modules/CMakeDetermineCompilerId.cmake

+ 8 - 0
Modules/CMakeDetermineCompilerId.cmake

@@ -185,12 +185,20 @@ Id flags: ${testflags}
     endif()
     configure_file(${CMAKE_ROOT}/Modules/CompilerId/Xcode-${v}.pbxproj.in
       ${id_dir}/CompilerId${lang}.${ext}/project.pbxproj @ONLY IMMEDIATE)
+    unset(_ENV_MACOSX_DEPLOYMENT_TARGET)
+    if(DEFINED ENV{MACOSX_DEPLOYMENT_TARGET})
+      set(_ENV_MACOSX_DEPLOYMENT_TARGET "$ENV{MACOSX_DEPLOYMENT_TARGET}")
+      set(ENV{MACOSX_DEPLOYMENT_TARGET} "")
+    endif()
     execute_process(COMMAND xcodebuild
       WORKING_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR}
       OUTPUT_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
       ERROR_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
       RESULT_VARIABLE CMAKE_${lang}_COMPILER_ID_RESULT
       )
+    if(DEFINED _ENV_MACOSX_DEPLOYMENT_TARGET)
+      set(ENV{MACOSX_DEPLOYMENT_TARGET} "${_ENV_MACOSX_DEPLOYMENT_TARGET}")
+    endif()
 
     # Match the link line from xcodebuild output of the form
     #  Ld ...