summaryrefslogtreecommitdiffstats
path: root/Modules/Platform/Darwin-Initialize.cmake
diff options
context:
space:
mode:
authorGregor Jasny <gjasny@googlemail.com>2016-09-25 09:37:34 (GMT)
committerGregor Jasny <gjasny@googlemail.com>2016-09-25 11:06:23 (GMT)
commit540815eec2b83a8b43689580c54e8950d9f5868b (patch)
tree75f230b971a2ed14d520a806bbfb718a1250f6c2 /Modules/Platform/Darwin-Initialize.cmake
parent02277aef1081478192cc4669093665a01febc7ef (diff)
downloadCMake-540815eec2b83a8b43689580c54e8950d9f5868b.zip
CMake-540815eec2b83a8b43689580c54e8950d9f5868b.tar.gz
CMake-540815eec2b83a8b43689580c54e8950d9f5868b.tar.bz2
Xcode: Convert maybe unversioned OSX sysroot into versioned SDK path
Starting with Xcode 8 the SDK folder also contains an unversioned entry: $ ls -l /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs drwxr-xr-x 5 root wheel 170 Mar 4 2018 MacOSX.sdk lrwxr-xr-x 1 root wheel 10 Sep 16 20:49 MacOSX10.12.sdk -> MacOSX.sdk If this unversioned path is used CMake cannot detect the SDK version. To work around the problem we always invoke the code path that translates short SDK names like "macosx10.12" into a path. That way we always end up with a versioned SDK path in _CMAKE_OSX_SYSROOT_PATH which is later used to determine the version. Closes: #16323
Diffstat (limited to 'Modules/Platform/Darwin-Initialize.cmake')
-rw-r--r--Modules/Platform/Darwin-Initialize.cmake6
1 files changed, 4 insertions, 2 deletions
diff --git a/Modules/Platform/Darwin-Initialize.cmake b/Modules/Platform/Darwin-Initialize.cmake
index 91c2cf3..427909d 100644
--- a/Modules/Platform/Darwin-Initialize.cmake
+++ b/Modules/Platform/Darwin-Initialize.cmake
@@ -125,8 +125,10 @@ if(CMAKE_OSX_SYSROOT)
set(_CMAKE_OSX_SYSROOT_ORIG "")
endif()
set(_CMAKE_OSX_SYSROOT_PATH "${CMAKE_OSX_SYSROOT}")
- else()
- # Transform the sdk name into a path.
+ endif()
+
+ if(CMAKE_OSX_SYSROOT)
+ # Transform the (maybe unversioned) sysroot into a versioned path.
execute_process(
COMMAND xcodebuild -sdk ${CMAKE_OSX_SYSROOT} -version Path
OUTPUT_VARIABLE _stdout