summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/default_pre.prf
blob: be8ee1ae278339ee34816ae55a901a8c12760299 (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
load(exclusive_builds)
### Qt 5: remove "uic" and "resources" - or add "qt"
CONFIG = lex yacc warn_on debug uic resources $$CONFIG

!build_pass:exists($$_PRO_FILE_PWD_/sync.profile) {
    PRO_BASENAME = $$basename(_PRO_FILE_)

    # Try to detect proper QTDIR path. We require QTDIR, as syncqt uses that to create qt_module.pri
    # forwarding files. If we don't find QTDIR, we avoid creating the fwd files, since you then need
    # to do a 'make install;' before you can use the module
    # (ie. we don't use QT_INSTALL_DATA for fwd includes. This path needs a full copy)
    isEmpty(QTDIR) {
        QTDIR = $$(QTDIR)
        isEmpty(QTDIR):QTDIR = $$QT_BUILD_TREE
        isEmpty(QTDIR) { # figure out QTDIR based on qmake binary
            QMAKE_BASED_QTDIR = $$dirname(QMAKE_QMAKE)
            QTDIR = $$dirname(QMAKE_BASED_QTDIR)
            unset(QMAKE_BASED_QTDIR)
        }
    }

    QTFWD = -module-fwd $$OUT_PWD/module-paths/modules -cache-module-fwd
    !isEmpty(QTDIR) {
        # Only if QTDIR points to an actual build directory
        # and this build directory is the install directory
        # can we tell syncqt to do a -developer-build
        exists($$QTDIR/.qmake.cache):contains(QTDIR, $$[QT_INSTALL_PREFIX]) {
            QTFWD = -qtdir $$QTDIR -module-fwd $$QTDIR/mkspecs/modules -developer-build
        }
    }

    qtPrepareTool(QMAKE_SYNCQT, syncqt)

    isEmpty(QMAKE_SYNCQT_OUTDIR): QMAKE_SYNCQT_OUTDIR = $$OUT_PWD
    MSG = $$quote($$QMAKE_SYNCQT $$QTFWD -generator $$MAKEFILE_GENERATOR -outdir $$QMAKE_SYNCQT_OUTDIR $$_PRO_FILE_PWD_)
    !silent:message($$MSG)
    system($$MSG) {
        # success! Nothing to do
    } else {
        error("Failed to run: $$MSG")
    }
    unset(QTFWD)
    unset(PRO_BASENAME)
}