summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/ifcodegen_qt_module.prf
blob: cd5690f023db76eda1aeaea6e212f3accaf53f5c (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
# Custom compiler for qface base modules
#
# If not building a module, use CONFIG += ifcodegen instead
#
# Example input:
#   IFCODEGEN_SOURCES += my.foo.qface [required]
#   IFCODEGEN_MODULE_NAME = my_module_name
#   IFCODEGEN_TEMPLATE = frontend (or backend, simulator... -- defaults to "frontend")
#   IFCODEGEN_OUTPUT_DIR = my_output_dir (defaults to current build dir)
#

!contains(IFCODEGEN_SOURCES, .+\\.qface$) {
    error("Invalid qface file provided: The file needs to end with .qface")
}

isEmpty(IFCODEGEN_MODULE_NAME) {
    error("IFCODEGEN_MODULE_NAME needs to be set when a qt module should be generated")
}

IFCODEGEN_PWD = $$dirname(IFCODEGEN_SOURCES)
IFCODEGEN_ABS_PWD = $$absolute_path($$IFCODEGEN_PWD, $$_PRO_FILE_PWD_)

load(qt_build_paths)
!force_independent {
    IFCODEGEN_HEADERS_REL_DIR = $$relative_path($$IFCODEGEN_ABS_PWD, $$QTIF_ROOT)
    IFCODEGEN_HEADERS_OUTPUT_DIR = $${MODULE_BASE_OUTDIR}/$${IFCODEGEN_HEADERS_REL_DIR}
    !exists(IFCODEGEN_HEADERS_OUTPUT_DIR) {
        mkpath($${IFCODEGEN_HEADERS_OUTPUT_DIR})
    }
}

load(qt_module)
load(ifcodegen)