iOS: Don't add Qt libraries to PRE_TARGETDEPS of xcodebuild Makefile

Support for PRE_TARGETDEPS was added for iOS applications in
53ac8094b1, even if the Xcode
generator doesn't support PRE_TARGETDEPS, by taking advantage
of the glue Makefile we use to run xcodebuild.

And we add our own Qt libraries to PRE_TARGETDEPS in qt.prf,
as you would expect. But since Xcode supports both debug and
release, we always set debug_and_release for this glue Makefile.

The result is that when computing the Qt library PRE_TARGETDEPS,
we fail to apply a _debug suffix from qtPlatformTargetSuffix(),
since we've enabled debug_and_release.

In a debug only build, this means that 'make' of the glue Makefile
will fail to find the release versions of our Qt libraries.

To work around this we skip adding Qt to the target deps when
generating the xcodebuild Makefile, as we know these libraries
are added to the target in the Xcode project.

Pick-to: 6.5 6.2
Change-Id: Icafc103e34a6f83240fa8187181d885fb0172a86
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
Tor Arne Vestbø 2023-05-10 13:47:33 +02:00
parent 278acae611
commit 311f8157ae

View File

@ -252,15 +252,16 @@ for(ever) {
} else {
lib_bases = $$MODULE_MODULE$$qtPlatformTargetSuffix()
darwin: lib_bases *= $$MODULE_MODULE
add_lib_to_pretargetdeps = false
win32|contains(MODULE_CONFIG, staticlib) {
lib_prefix = $$MODULE_LIBS/$$QMAKE_PREFIX_STATICLIB
lib_suffixes = $$QMAKE_EXTENSION_STATICLIB
lib_suffixes *= $$QMAKE_LIB_EXTENSIONS
add_lib_to_pretargetdeps = true
!xcodebuild: \
add_lib_to_pretargetdeps = true
} else {
lib_prefix = $$MODULE_LIBS/$$QMAKE_PREFIX_SHLIB
lib_suffixes = $$QMAKE_EXTENSION_SHLIB
add_lib_to_pretargetdeps = false
}
candidates =
for(lib_base, lib_bases) {