Browse Source

OS X: If CMAKE_OSX_SYSROOT is already set do not compute default

The default computation logic is non-trivial.  Do not bother with it if
the value is already known.
Brad King 13 years ago
parent
commit
2690738458
1 changed files with 6 additions and 4 deletions
  1. 6 4
      Modules/Platform/Darwin.cmake

+ 6 - 4
Modules/Platform/Darwin.cmake

@@ -99,10 +99,12 @@ endif()
 #----------------------------------------------------------------------------
 # CMAKE_OSX_SYSROOT
 
-# Environment variable set by the user overrides our default.
-# Use the same environment variable that Xcode uses.
-if(NOT "x$ENV{SDKROOT}" STREQUAL "x" AND
-    (NOT "x$ENV{SDKROOT}" MATCHES "/" OR IS_DIRECTORY "$ENV{SDKROOT}"))
+if(CMAKE_OSX_SYSROOT)
+  # Use the existing value without further computation to choose a default.
+  set(_CMAKE_OSX_SYSROOT_DEFAULT "${CMAKE_OSX_SYSROOT}")
+elseif(NOT "x$ENV{SDKROOT}" STREQUAL "x" AND
+        (NOT "x$ENV{SDKROOT}" MATCHES "/" OR IS_DIRECTORY "$ENV{SDKROOT}"))
+  # Use the value of SDKROOT from the environment.
   set(_CMAKE_OSX_SYSROOT_DEFAULT "$ENV{SDKROOT}")
 else()
   # Find installed SDKs in either Xcode-4.3+ or pre-4.3 SDKs directory.