ae39a84603
Change-Id: Ifad6463414d4fb055007653d06f2c17ca5ee953e Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
70 lines
2.7 KiB
Plaintext
70 lines
2.7 KiB
Plaintext
|
|
CONFIG(qt):contains(QT, gui):equals(TEMPLATE, app): CONFIG += gui_app
|
|
|
|
isEmpty(MAKEFILE_GENERATOR) {
|
|
gui_app:app_bundle: \
|
|
# For applications we want Xcode project files
|
|
MAKEFILE_GENERATOR = XCODE
|
|
else: \
|
|
# For libs, etc we still want regular Makefiles
|
|
MAKEFILE_GENERATOR = UNIX
|
|
}
|
|
|
|
gui_app {
|
|
# We have to do the link and dependency resolution for the platform plugin
|
|
# manually, since QTPLUGIN and the prl lookup logic does not support
|
|
# the -force_load link style. The -force_load option ensures that all
|
|
# symbols from the static library are included, not just the ones the
|
|
# linker have seen a use for so far. We need this because we load the platform
|
|
# plugin from the platform plugin itself, using Q_IMPORT_PLUGIN.
|
|
lib_path_and_base = $$[QT_INSTALL_PLUGINS/get]/platforms/libqios$$qtPlatformTargetSuffix()
|
|
LIBS += "-force_load $${lib_path_and_base}.$${QMAKE_EXTENSION_STATICLIB}"
|
|
LIBS += $$fromfile($${lib_path_and_base}.prl, QMAKE_PRL_LIBS)
|
|
|
|
# Which means we don't want the auto-generated import for the platform plugin
|
|
CONFIG -= import_qpa_plugin
|
|
|
|
!no_main_wrapper {
|
|
# We link the iosmain library manually as well, since it's not really a plugin
|
|
lib_name = qiosmain
|
|
lib_path_and_base = $$[QT_INSTALL_PLUGINS/get]/platforms/lib$${lib_name}$$qtPlatformTargetSuffix()
|
|
LIBS += -L$$[QT_INSTALL_PLUGINS/get]/platforms -l$${lib_name}$$qtPlatformTargetSuffix()
|
|
LIBS += $$fromfile($${lib_path_and_base}.prl, QMAKE_PRL_LIBS)
|
|
DEFINES += main=qt_main
|
|
}
|
|
}
|
|
|
|
contains(MAKEFILE_GENERATOR, XCODE) {
|
|
ios_device_family.name = TARGETED_DEVICE_FAMILY
|
|
ios_device_family.value = $$QMAKE_IOS_TARGETED_DEVICE_FAMILY
|
|
QMAKE_MAC_XCODE_SETTINGS += ios_device_family
|
|
}
|
|
|
|
isEmpty(QT_ARCH) {
|
|
# The iPhoneOS and iPhoneSimulator targets share the same toolchain,
|
|
# so when configure runs the arch tests it passes the correct sysroot,
|
|
# but we fail to pick up the architecture since we're not passing -arch
|
|
# yet. Xcode does not seem to have a way to run the shared toolchain
|
|
# in a way that will automatically do this (for example xcrun -sdk).
|
|
contains(QMAKE_MAC_SDK, iphoneos.*): QT_ARCH = armv7
|
|
else: QT_ARCH = i386 # Simulator
|
|
} else {
|
|
# Fix up the QT_ARCH to be more specific
|
|
equals(QT_ARCH, arm) {
|
|
# Samsung S5PC100, Apple A4, A5, A5X
|
|
QT_ARCH = armv7
|
|
|
|
# FIXME: How do we support armv7s when Qt can't do universal builds?
|
|
}
|
|
}
|
|
|
|
!equals(MAKEFILE_GENERATOR, XCODE) {
|
|
arch_flag = -arch $$QT_ARCH
|
|
QMAKE_CFLAGS += $$arch_flag
|
|
QMAKE_CXXFLAGS += $$arch_flag
|
|
QMAKE_OBJECTIVE_CFLAGS += $$arch_flag
|
|
QMAKE_LFLAGS += $$arch_flag
|
|
}
|
|
|
|
load(default_post)
|