summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/ios/default_post.prf
blob: f5e7b3c02db30f15e850526fb56d8dbaf1799569 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43

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
}

load(default_post)