summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qt_helper_lib.prf
blob: f0072f82db5b30dc9803ee4ebb568877ba785b48 (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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#
#  W A R N I N G
#  -------------
#
# This file is not part of the Qt API.  It exists purely as an
# implementation detail.  It may change from version to version
# without notice, or even be removed.
#
# We mean it.
#

load(qt_build_paths)

TEMPLATE = lib
CONFIG -= qt
QT =  # In case qt is re-added.

INCLUDEPATH += $$MODULE_INCLUDEPATH
DEFINES += $$MODULE_DEFINES

CONFIG -= warning_clean  # Don't presume 3rd party code to be clean
load(qt_common)

qtConfig(simulator_and_device): CONFIG += simulator_and_device
qtConfig(debug_and_release): CONFIG += debug_and_release
qtConfig(build_all): CONFIG += build_all

DESTDIR = $$MODULE_BASE_OUTDIR/lib
DLLDESTDIR = $$MODULE_BASE_OUTDIR/bin

!build_pass {
    MODULE = $$replace(TARGET, ^qt, )
    MODULE_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_ext_$${MODULE}.pri
    ucmodule = $$upper($$MODULE)

    MODULE_PRI_CONT = \
        "QMAKE_INCDIR_$${ucmodule} = $$val_escape(MODULE_INCLUDEPATH)" \
        "QMAKE_DEFINES_$${ucmodule} = $$val_escape(MODULE_DEFINES)"
    MODULE_LIBS = -L$$DESTDIR -l$$TARGET
    debug_and_release {
        win32: MODULE_DEBUG_LIBS = -L$$DESTDIR -l$${TARGET}d
        darwin: MODULE_DEBUG_LIBS = -L$$DESTDIR -l$${TARGET}_debug
        MODULE_PRI_CONT += \
            "QMAKE_LIBS_$${ucmodule}_DEBUG = $$val_escape(MODULE_DEBUG_LIBS)" \
            "QMAKE_LIBS_$${ucmodule}_RELEASE = $$val_escape(MODULE_LIBS)"
    } else {
        MODULE_PRI_CONT += \
            "QMAKE_LIBS_$${ucmodule} = $$val_escape(MODULE_LIBS)"
    }
    write_file($$MODULE_PRI, MODULE_PRI_CONT)|error()
}

# In static builds of Qt, convenience libraries must be installed,
# as in this case they are not linked to the final library/plugin.
installed|if(!not_installed:qtConfig(static)): load(qt_installs)

TARGET = $$qt5LibraryTarget($$TARGET)