summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/common/mac.conf7
-rw-r--r--mkspecs/features/mac/sdk.prf28
2 files changed, 27 insertions, 8 deletions
diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf
index 6610430899..57719e003f 100644
--- a/mkspecs/common/mac.conf
+++ b/mkspecs/common/mac.conf
@@ -12,8 +12,11 @@ QMAKE_RESOURCE = /Developer/Tools/Rez
QMAKE_EXTENSION_SHLIB = dylib
QMAKE_LIBDIR =
-QMAKE_INCDIR_OPENGL = $$QMAKE_MAC_SDK/System/Library/Frameworks/OpenGL.framework/Headers \
- $$QMAKE_MAC_SDK/System/Library/Frameworks/AGL.framework/Headers/
+
+# sdk.prf will prefix the proper SDK sysroot
+QMAKE_INCDIR_OPENGL = \
+ /System/Library/Frameworks/OpenGL.framework/Headers \
+ /System/Library/Frameworks/AGL.framework/Headers/
QMAKE_FIX_RPATH = install_name_tool -id
diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf
index 5eab94896b..955baa3ed2 100644
--- a/mkspecs/features/mac/sdk.prf
+++ b/mkspecs/features/mac/sdk.prf
@@ -1,8 +1,24 @@
-!isEmpty(QMAKE_MAC_SDK) {
- !macx-xcode:!macx-pbuilder {
- QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK
- QMAKE_OBJECTIVE_CFLAGS += -isysroot $$QMAKE_MAC_SDK
- QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK
- QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK
+!host_build:!isEmpty(QMAKE_MAC_SDK) {
+
+ contains(QMAKE_MAC_SDK, .*/.*): \
+ error("QMAKE_MAC_SDK can only contain short-form SDK names (eg. macosx, iphoneos)")
+
+ QMAKE_MAC_SDK_INFO = $$system("xcodebuild -sdk $$QMAKE_MAC_SDK -version 2>/dev/null", lines)
+ isEmpty(QMAKE_MAC_SDK_INFO): error("Could not resolve SDK \'$$QMAKE_MAC_SDK\'")
+
+ defineReplace(qtMacSDKInfo): \
+ return($$replace($$list($$find(QMAKE_MAC_SDK_INFO, ^$$1:)), ^$$1:(.*), \\1))
+
+ QMAKE_MAC_SDK_PATH = $$qtMacSDKInfo(Path)
+
+ !equals(MAKEFILE_GENERATOR, XCODE) {
+ QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH
+ QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH
+ QMAKE_OBJECTIVE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH
+ QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK_PATH
}
+
+ sysrootified =
+ for(val, QMAKE_INCDIR_OPENGL): sysrootified += $${QMAKE_MAC_SDK_PATH}$$val
+ QMAKE_INCDIR_OPENGL = $$sysrootified
}