[Cmake-commits] [cmake-commits] david.cole committed Darwin.cmake 1.62 1.63

cmake-commits at cmake.org cmake-commits at cmake.org
Tue Dec 15 11:10:18 EST 2009


Update of /cvsroot/CMake/CMake/Modules/Platform
In directory public:/mounts/ram/cvs-serv21599/Modules/Platform

Modified Files:
	Darwin.cmake 
Log Message:
Fix issues #9959 and #9898 - do not set CMAKE_OSX_DEPLOYMENT_TARGET if CMAKE_OSX_SYSROOT is set.

Default to "" for CMAKE_OSX_DEPLOYMENT_TARGET if CMAKE_OSX_SYSROOT is set. Also, add new error message to detect the case where there is a deployment target, but no SDK has been set. Fix args to STRING REGEX call so that it works even if _sdk_path variable is empty inside sanity check function.


Index: Darwin.cmake
===================================================================
RCS file: /cvsroot/CMake/CMake/Modules/Platform/Darwin.cmake,v
retrieving revision 1.62
retrieving revision 1.63
diff -C 2 -d -r1.62 -r1.63
*** Darwin.cmake	2 Dec 2009 20:17:52 -0000	1.62
--- Darwin.cmake	15 Dec 2009 16:10:15 -0000	1.63
***************
*** 2,9 ****
  
  # Darwin versions:
! #   6.x == Mac OSX 10.2
! #   7.x == Mac OSX 10.3
! #   8.x == Mac OSX 10.4
! #   9.x == Mac OSX 10.5
  STRING(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\1" DARWIN_MAJOR_VERSION "${CMAKE_SYSTEM_VERSION}")
  STRING(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\2" DARWIN_MINOR_VERSION "${CMAKE_SYSTEM_VERSION}")
--- 2,10 ----
  
  # Darwin versions:
! #   6.x == Mac OSX 10.2 (Jaguar)
! #   7.x == Mac OSX 10.3 (Panther)
! #   8.x == Mac OSX 10.4 (Tiger)
! #   9.x == Mac OSX 10.5 (Leopard)
! #  10.x == Mac OSX 10.6 (Snow Leopard)
  STRING(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\1" DARWIN_MAJOR_VERSION "${CMAKE_SYSTEM_VERSION}")
  STRING(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\2" DARWIN_MINOR_VERSION "${CMAKE_SYSTEM_VERSION}")
***************
*** 73,80 ****
  ENDIF(NOT _CMAKE_OSX_SDKS)
  
! # Set CMAKE_OSX_DEPLOYMENT_TARGET_DEFAULT to the current version of OS X
! EXECUTE_PROCESS(COMMAND sw_vers -productVersion OUTPUT_VARIABLE CURRENT_OSX_VERSION)
! STRING(REGEX REPLACE "^.*(10)\\.([0-9]+)\\.*([0-9]+)*.*$" "\\1.\\2"
!   CMAKE_OSX_DEPLOYMENT_TARGET_DEFAULT ${CURRENT_OSX_VERSION})
  
  # Set CMAKE_OSX_SYSROOT_DEFAULT based on CMAKE_OSX_DEPLOYMENT_TARGET_DEFAULT.
--- 74,91 ----
  ENDIF(NOT _CMAKE_OSX_SDKS)
  
! EXECUTE_PROCESS(COMMAND sw_vers -productVersion
!   OUTPUT_VARIABLE CURRENT_OSX_VERSION
!   OUTPUT_STRIP_TRAILING_WHITESPACE)
! 
! # Set CMAKE_OSX_DEPLOYMENT_TARGET_DEFAULT - if user has already specified an SDK
! # with CMAKE_OSX_SYSROOT, then deployment target should default to "", otherwise,
! # default it to the current OSX version.
! #
! IF(CMAKE_OSX_SYSROOT)
!   SET(CMAKE_OSX_DEPLOYMENT_TARGET_DEFAULT "")
! ELSE(CMAKE_OSX_SYSROOT)
!   STRING(REGEX REPLACE "^.*(10)\\.([0-9]+)\\.*([0-9]+)*.*$" "\\1.\\2"
!     CMAKE_OSX_DEPLOYMENT_TARGET_DEFAULT ${CURRENT_OSX_VERSION})
! ENDIF(CMAKE_OSX_SYSROOT)
  
  # Set CMAKE_OSX_SYSROOT_DEFAULT based on CMAKE_OSX_DEPLOYMENT_TARGET_DEFAULT.
***************
*** 126,138 ****
  #----------------------------------------------------------------------------
  function(SanityCheckSDKAndDeployTarget _sdk_path _deploy)
!   if (_deploy STREQUAL "")
      return()
    endif()
  
!   string (REGEX REPLACE "(.*MacOSX*)(....)(.*\\.sdk)" "\\2" SDK ${_sdk_path})
!   if (_deploy GREATER SDK)
!     message (FATAL_ERROR "CMAKE_OSX_DEPLOYMENT_TARGET (${_deploy}) is greater than CMAKE_OSX_SYSROOT SDK (${_sdk_path}). Please set CMAKE_OSX_DEPLOYMENT_TARGET to ${SDK}")
!   endif (_deploy GREATER SDK)
! endfunction(SanityCheckSDKAndDeployTarget _sdk_path _deploy)
  #----------------------------------------------------------------------------
  
--- 137,153 ----
  #----------------------------------------------------------------------------
  function(SanityCheckSDKAndDeployTarget _sdk_path _deploy)
!   if(_deploy STREQUAL "")
      return()
    endif()
  
!   if(_sdk_path STREQUAL "")
!     message(FATAL_ERROR "CMAKE_OSX_DEPLOYMENT_TARGET='${_deploy}' but CMAKE_OSX_SYSROOT is empty... - either set CMAKE_OSX_SYSROOT to a valid SDK or set CMAKE_OSX_DEPLOYMENT_TARGET to empty")
!   endif()
! 
!   string(REGEX REPLACE "(.*MacOSX*)(....)(.*\\.sdk)" "\\2" SDK "${_sdk_path}")
!   if(_deploy GREATER "${SDK}")
!     message(FATAL_ERROR "CMAKE_OSX_DEPLOYMENT_TARGET (${_deploy}) is greater than CMAKE_OSX_SYSROOT SDK (${_sdk_path}). Please set CMAKE_OSX_DEPLOYMENT_TARGET to ${SDK}")
!   endif()
! endfunction(SanityCheckSDKAndDeployTarget)
  #----------------------------------------------------------------------------
  



More information about the Cmake-commits mailing list