浏览代码

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()
     endif()
     configure_file(${CMAKE_ROOT}/Modules/CompilerId/Xcode-${v}.pbxproj.in
     configure_file(${CMAKE_ROOT}/Modules/CompilerId/Xcode-${v}.pbxproj.in
       ${id_dir}/CompilerId${lang}.${ext}/project.pbxproj @ONLY IMMEDIATE)
       ${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
     execute_process(COMMAND xcodebuild
       WORKING_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR}
       WORKING_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR}
       OUTPUT_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
       OUTPUT_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
       ERROR_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
       ERROR_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
       RESULT_VARIABLE CMAKE_${lang}_COMPILER_ID_RESULT
       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
     # Match the link line from xcodebuild output of the form
     #  Ld ...
     #  Ld ...