summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/default_pre.prf
blob: 6eb3a396e97de2e2f660c53a080a907ca4db630f (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
load(exclusive_builds)
CONFIG = lex yacc warn_on debug exceptions depend_includepath $$CONFIG

!build_pass:exists($$_PRO_FILE_PWD_/sync.profile) {
    !exists($$[QT_HOST_DATA]/.qmake.cache) {
        !isEmpty(_QMAKE_SUPER_CACHE_) {
            # When doing a -prefix build of top-level qt5/qt.pro, we need to announce
            # this repo's module pris' location to the other repos.
            isEmpty(MODULE_QMAKE_OUTDIR): MODULE_QMAKE_OUTDIR = $$OUT_PWD
            modpath = $$MODULE_QMAKE_OUTDIR/mkspecs/modules
            !contains(QMAKEMODULES, $$modpath): \
                cache(QMAKEMODULES, add super, modpath)
            unset(modpath)
        }
    } else {
        # When doing a build without -prefix, put the headers directly into qtbase.
        isEmpty(MODULE_BASE_OUTDIR): MODULE_BASE_OUTDIR = $$[QT_HOST_DATA]
    }

    qtPrepareTool(QMAKE_SYNCQT, syncqt)
    isEmpty(MODULE_BASE_OUTDIR): MODULE_BASE_OUTDIR = $$OUT_PWD
    MSG = $$quote($$QMAKE_SYNCQT -qtdir $$[QT_HOST_DATA/get] -outdir $$MODULE_BASE_OUTDIR $$_PRO_FILE_PWD_)
    !silent:message($$MSG)
    system($$MSG) {
        # success! Nothing to do
    } else {
        error("Failed to run: $$MSG")
    }
}

# Populate the installdir which will be passed to qdoc in the default_post.prf
# This allows a project to remove the installdir if need be, to trigger building online docs,
# which Qt Creator does.
QMAKE_DOCS_INSTALLDIR = $$[QT_INSTALL_DOCS]