1308aa25fb
The Xcode and SDK settings are expensive to resolve, as we're using system() calls to resolve them. We now try to detect the presence of a .qmake.cache file (and inform the user that creating one would be a good idea), and use the file to cache the various settings after resolving them. The Xcode logic had to be moved form xcode.conf as part of the mkspec, into default_pre/post.prf, so that we could cache() the resolved values. Task-number: QTBUG-30586 Change-Id: Ib5368cfee6f7e4a4a33f6be70d0e20d96896fe56 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
26 lines
1.1 KiB
Plaintext
26 lines
1.1 KiB
Plaintext
CONFIG = sdk rez $$CONFIG
|
|
load(default_pre)
|
|
|
|
isEmpty(QMAKE_XCODE_DEVELOPER_PATH) {
|
|
# Get path of Xcode's Developer directory
|
|
QMAKE_XCODE_DEVELOPER_PATH = $$system("/usr/bin/xcode-select --print-path 2>/dev/null")
|
|
isEmpty(QMAKE_XCODE_DEVELOPER_PATH): \
|
|
error("Xcode path is not set. Please use xcode-select to choose Xcode installation path.")
|
|
|
|
# Make sure Xcode path is valid
|
|
!exists($$QMAKE_XCODE_DEVELOPER_PATH): \
|
|
error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.")
|
|
|
|
# Make sure Xcode is set up properly
|
|
isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null"))): \
|
|
error("Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.")
|
|
}
|
|
|
|
isEmpty(QMAKE_XCODE_VERSION) {
|
|
# Extract Xcode version using xcodebuild
|
|
xcode_version = $$system("/usr/bin/xcodebuild -version")
|
|
QMAKE_XCODE_VERSION = $$member(xcode_version, 1)
|
|
isEmpty(QMAKE_XCODE_VERSION): error("Could not resolve Xcode version.")
|
|
unset(xcode_version)
|
|
}
|