2c0c4676e3
After bbcdccd
, a deprecation warning is written to
the console every time you run qmake on iOS.
This change will make use of the new QTPLUGIN.platforms=-
instead if the deprecated CONFIG -= import_qpa_plugin
Change-Id: I51e4f9d18f6abd87512a39b3236b89d5444fd6c1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
50 lines
2.3 KiB
Plaintext
50 lines
2.3 KiB
Plaintext
|
|
equals(TEMPLATE, app):contains(QT, gui(-private)?) {
|
|
LIBS *= -L$$[QT_INSTALL_PLUGINS/get]/platforms
|
|
|
|
lib_name = qios
|
|
lib_path_and_base = $$[QT_INSTALL_PLUGINS/get]/platforms/lib$${lib_name}$$qtPlatformTargetSuffix()
|
|
LIBS += -l$${lib_name}$$qtPlatformTargetSuffix() $$fromfile($${lib_path_and_base}.prl, QMAKE_PRL_LIBS)
|
|
|
|
# By marking qt_registerPlatformPlugin as undefined, we ensure that
|
|
# the plugin.o translation unit is considered for inclusion in
|
|
# the final binary, which in turn ensures that the plugin's
|
|
# static initializer is included and run.
|
|
QMAKE_LFLAGS += -u _qt_registerPlatformPlugin
|
|
|
|
# We do link and dependency resolution for the platform plugin
|
|
# manually, since we know we always need the plugin, so we don't
|
|
# need to generate an import for it.
|
|
QTPLUGIN.platforms = -
|
|
|
|
!no_main_wrapper {
|
|
# We use ld to rename the _main symbol to _qt_main, so that we don't get a symbol clash
|
|
# with the _main we provide that calls UIApplicationMain. We need to make a copy of the
|
|
# original object file, as ld will not copy over DWARF debug information to the output
|
|
# file. Instead, it will inject a reference back to the original object file, so when
|
|
# Xcode runs dsymutil to make the final dSYM file it will still find the debug info
|
|
# for the object file that provided the original _main. This back-reference has the
|
|
# interesting side-effect of the debug information still referring to the original
|
|
# symbol name, so stack-traces will show both our wrapper main and the original
|
|
# user main as 'main', and adding a symbolic breakpoint for 'main' will break on
|
|
# both functions. Although a bit weird, it's a good thing, as the user will still be
|
|
# able to add symbolic breakpoints for 'main', not caring that the symbol is actually
|
|
# called 'qt_main' now.
|
|
|
|
macx-xcode {
|
|
objects_dir = "${OBJECT_FILE_DIR}-${CURRENT_VARIANT}/${CURRENT_ARCH}"
|
|
} else {
|
|
objects_dir = $$OBJECTS_DIR
|
|
isEmpty(objects_dir): \
|
|
objects_dir = .
|
|
}
|
|
|
|
!isEmpty(QMAKE_PRE_LINK): \
|
|
QMAKE_PRE_LINK += ";"
|
|
|
|
QMAKE_PRE_LINK += $$QMAKESPEC/rename_main.sh $${objects_dir}
|
|
}
|
|
}
|
|
|
|
load(qt)
|