fix xcodebuilds without -sdk iphonesimulator

the order of the arguments passed to addExclusiveBuilds() determines the
name of the CONFIG flag which actually enables the mode. that is
historically fixed to iphonesimulator_and_iphoneos and we cannot just
change the order.

to get around this, add a new "overload" of the function which allows
specifying the flag independently from the order of the builds, and make
use of it in ios' resolve_config.prf.

amends d2b4a789c.

Change-Id: Ia3fabea0c0c30beae680b57e75bdcdf35ef6503d
(cherry picked from 59985b3c291f769cfc24cf361367757fce229397)
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
This commit is contained in:
Oswald Buddenhagen 2016-10-07 20:16:58 +02:00 committed by Jani Heikkinen
parent 3654a401f8
commit 35953be53b
2 changed files with 13 additions and 9 deletions

View File

@ -1,12 +1,9 @@
defineTest(addExclusiveBuilds) { defineTest(addExclusiveBuildsProper) {
lessThan(ARGC, 2): \ !$$1:!fix_output_dirs: \
error("addExclusiveBuilds() requires at least two arguments")
!$$join(ARGS, _and_):!fix_output_dirs: \
return(true) return(true)
for(build, ARGS) { for(build, 2) {
isEmpty($${build}.name) { isEmpty($${build}.name) {
$${build}.name = $$title($$build) $${build}.name = $$title($$build)
export($${build}.name) export($${build}.name)
@ -20,7 +17,7 @@ defineTest(addExclusiveBuilds) {
export($${build}.dir_affix) export($${build}.dir_affix)
} }
$${build}.exclusive = $$ARGS $${build}.exclusive = $$2
export($${build}.exclusive) export($${build}.exclusive)
QMAKE_EXCLUSIVE_BUILDS += $$build QMAKE_EXCLUSIVE_BUILDS += $$build
@ -33,6 +30,13 @@ defineTest(addExclusiveBuilds) {
return(true) return(true)
} }
defineTest(addExclusiveBuilds) {
lessThan(ARGC, 2): \
error("addExclusiveBuilds() requires at least two arguments")
addExclusiveBuildsProper($$join(ARGS, _and_), $$ARGS)
}
# Default directories to process # Default directories to process
QMAKE_DIR_REPLACE = OBJECTS_DIR MOC_DIR RCC_DIR PRECOMPILED_DIR QGLTF_DIR DESTDIR QMAKE_DIR_REPLACE = OBJECTS_DIR MOC_DIR RCC_DIR PRECOMPILED_DIR QGLTF_DIR DESTDIR
QMAKE_DIR_REPLACE_SANE += QGLTF_DIR QMAKE_DIR_REPLACE_SANE += QGLTF_DIR

View File

@ -32,9 +32,9 @@ macx-xcode {
} else { } else {
# Switch the order to make sure that the first Makefile target is the right one # Switch the order to make sure that the first Makefile target is the right one
!contains(QT_CONFIG, simulator_and_device):contains(QMAKE_MAC_SDK, ^$${simulator.sdk}.*): \ !contains(QT_CONFIG, simulator_and_device):contains(QMAKE_MAC_SDK, ^$${simulator.sdk}.*): \
addExclusiveBuilds(simulator, device) addExclusiveBuildsProper(simulator_and_device, simulator device)
else: \ else: \
addExclusiveBuilds(device, simulator) addExclusiveBuildsProper(simulator_and_device, device simulator)
} }
equals(TEMPLATE, subdirs) { equals(TEMPLATE, subdirs) {