bbfc95914f
The sysrootification of QMAKE_INCDIR_OPENGL on macOS must happen only
once. Commit 49ef3773
addressed this but stored the sysrootified
QMAKE_INCDIR_OPENGL in qt_lib_gui_private.pri. For installer packages,
these paths are the paths of the build machine and most likely wrong
on the user's machine.
This reverts commit 4949ef377349ba4dae840c2d5caa36e2d516707baa and
restores the sysrootification in sdk.prf. The original include paths
are assigned to QMAKE_EXPORT_INCDIR_OPENGL and stored as
QMAKE_INCDIR_OPENGL in qt_lib_gui_private.pri.
Fixes: QTBUG-75374
Task-number: QTBUG-73736
Change-Id: I4c0f65866d60660c632363dba3adc7ea2e344bfc
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
62 lines
2.2 KiB
Plaintext
62 lines
2.2 KiB
Plaintext
|
|
isEmpty(QMAKE_MAC_SDK): \
|
|
error("QMAKE_MAC_SDK must be set when using CONFIG += sdk.")
|
|
|
|
contains(QMAKE_MAC_SDK, .*/.*): \
|
|
error("QMAKE_MAC_SDK can only contain short-form SDK names (eg. macosx, iphoneos)")
|
|
|
|
defineReplace(xcodeSDKInfo) {
|
|
info = $$1
|
|
equals(info, "Path"): \
|
|
infoarg = --show-sdk-path
|
|
equals(info, "PlatformPath"): \
|
|
infoarg = --show-sdk-platform-path
|
|
equals(info, "SDKVersion"): \
|
|
infoarg = --show-sdk-version
|
|
sdk = $$2
|
|
isEmpty(sdk): \
|
|
sdk = $$QMAKE_MAC_SDK
|
|
|
|
isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}) {
|
|
QMAKE_MAC_SDK.$${sdk}.$${info} = $$system("/usr/bin/xcrun --sdk $$sdk $$infoarg 2>/dev/null")
|
|
# --show-sdk-platform-path won't work for Command Line Tools; this is fine
|
|
# only used by the XCTest backend to testlib
|
|
isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}):if(!isEmpty(QMAKE_XCODEBUILD_PATH)|!equals(infoarg, "--show-sdk-platform-path")): \
|
|
error("Could not resolve SDK $$info for \'$$sdk\' using $$infoarg")
|
|
cache(QMAKE_MAC_SDK.$${sdk}.$${info}, set stash, QMAKE_MAC_SDK.$${sdk}.$${info})
|
|
}
|
|
|
|
return($$eval(QMAKE_MAC_SDK.$${sdk}.$${info}))
|
|
}
|
|
|
|
QMAKE_MAC_SDK_PATH = $$xcodeSDKInfo(Path)
|
|
QMAKE_MAC_SDK_PLATFORM_PATH = $$xcodeSDKInfo(PlatformPath)
|
|
QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion)
|
|
|
|
isEmpty(QMAKE_EXPORT_INCDIR_OPENGL) {
|
|
QMAKE_EXPORT_INCDIR_OPENGL = $$QMAKE_INCDIR_OPENGL
|
|
sysrootified =
|
|
for(val, QMAKE_INCDIR_OPENGL): sysrootified += $${QMAKE_MAC_SDK_PATH}$$val
|
|
QMAKE_INCDIR_OPENGL = $$sysrootified
|
|
}
|
|
|
|
QMAKESPEC_NAME = $$basename(QMAKESPEC)
|
|
|
|
# Resolve SDK version of various tools
|
|
for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_LINK QMAKE_LINK_SHLIB QMAKE_ACTOOL QMAKE_LINK_C QMAKE_LINK_C_SHLIB)) {
|
|
tool_variable = QMAKE_MAC_SDK.$${QMAKESPEC_NAME}.$${QMAKE_MAC_SDK}.$${tool}
|
|
!isEmpty($$tool_variable) {
|
|
$$tool = $$eval($$tool_variable)
|
|
next()
|
|
}
|
|
|
|
value = $$eval($$tool)
|
|
isEmpty(value): next()
|
|
|
|
sysrooted = $$system("/usr/bin/xcrun -sdk $$QMAKE_MAC_SDK -find $$first(value) 2>/dev/null")
|
|
isEmpty(sysrooted): next()
|
|
|
|
$$tool = $$sysrooted $$member(value, 1, -1)
|
|
cache($$tool_variable, set stash, $$tool)
|
|
}
|