summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qt_plugin.prf
blob: f710bbff434c9a0e81f285b5d5bb09de72223bbc (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
58
59
60
61
62
63
64
65
66
#
#  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)

isEmpty(PLUGIN_TYPE): error("PLUGIN_TYPE (plugins/ subdirectory) needs to be defined.")

TEMPLATE = lib
CONFIG += plugin
DESTDIR = $$MODULE_BASE_OUTDIR/plugins/$$PLUGIN_TYPE

tool_plugin {
    !build_pass:contains(QT_CONFIG, build_all): CONFIG += release
} else:if(win32|mac):!macx-xcode {
    contains(QT_CONFIG, debug_and_release):CONFIG += debug_and_release
    contains(QT_CONFIG, build_all):CONFIG += build_all
}

CONFIG(static, static|shared) {
    isEmpty(MODULE): MODULE = $$basename(TARGET)

    MODULE_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_plugin_$${MODULE}.pri

    !build_pass {
        MODULE_PRI_CONT = \
            "QT_PLUGIN.$${MODULE}.TYPE = $$PLUGIN_TYPE" \
            "QT_PLUGIN.$${MODULE}.CLASS_NAME = $$PLUGIN_CLASS_NAME"

        write_file($$MODULE_PRI, MODULE_PRI_CONT)|error("Aborting.")
    }

    pritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
    pritarget.files = $$MODULE_PRI
    INSTALLS += pritarget
}

target.path = $$[QT_INSTALL_PLUGINS]/$$PLUGIN_TYPE
INSTALLS += target

TARGET = $$qtLibraryTarget($$TARGET)

CONFIG += create_cmake

load(qt_targets)
load(qt_common)

wince*:LIBS += $$QMAKE_LIBS_GUI
QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF

unix|mingw {
    !isEmpty(_QMAKE_SUPER_CACHE_): \
        rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]*
    else: \
        rplbase = $$MODULE_BASE_OUTDIR
    lib_replace.match = $$rplbase/lib
    lib_replace.replace = $$[QT_INSTALL_LIBS/raw]
    QMAKE_PRL_INSTALL_REPLACE += lib_replace
}