Don't add -spec XXX more than once to system command in xcodebuild.prf

The "args" variable would contain the original -spec XXX flags in
addition to the -spec macx-xcode passed in the system command invocation
below. The last use of -spec takes effect, so this code was entirely
ineffective. Consequently, uikit/default_post.prf in the nested qmake
call thought it's still the top-level call and thus added xcodebuild
again, which caused an infinite recursion.

Change-Id: Ie98d8a7f3c1cd875f4a4146af9a66a66b48cc6cb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
This commit is contained in:
Jake Petroules 2016-10-03 22:21:24 -07:00
parent 4d552815cf
commit 0059bf944d

View File

@ -18,8 +18,12 @@ QMAKE_EXTRA_COMPILERS =
error("Failed to create $$OUT_PWD")
args =
for(arg, QMAKE_ARGS): \
args += $$system_quote($$arg)
prev_arg =
for(arg, QMAKE_ARGS) {
!equals(arg, "-spec"):!equals(prev_arg, "-spec"): \
args += $$system_quote($$arg)
prev_arg = $$arg
}
cmd = "$$QMAKE_QMAKE $$system_quote($$_PRO_FILE_) -spec macx-xcode $$args"
debug(1, "Generating Xcode project in $$OUT_PWD using '$$cmd'")