summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qscxmlc.prf
blob: 6ed1ad79b20e58bb305632bb9cbb1536239aace4 (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
qtPrepareTool(QMAKE_QSCXMLC, qscxmlc)

isEmpty(QSCXMLC_DIR):QSCXMLC_DIR = .

debug_and_release {
    CONFIG(debug, debug|release):SUFFIX = /debug
    CONFIG(release, debug|release):SUFFIX = /release
}

QSCXMLC_DIR = $$QSCXMLC_DIR$$SUFFIX
QMAKE_QSCXMLC_EXE=$$[QT_HOST_BINS]/qscxmlc
win*:QMAKE_QSCXMLC_EXE=$$QMAKE_QSCXMLC_EXE.exe

msvc:lessThan(MSC_VER,1800):QMAKE_QSCXMLC=$$QMAKE_QSCXMLC -no-c++11 # VS2012 cannot handle initializer lists.

{
qscxmlc.name = QSCXMLC ${QMAKE_FILE_IN}.h
qscxmlc.input = STATECHARTS
qscxmlc.variable_out = QSCXMLC_HEADERS
qscxmlc.commands = $$QMAKE_QSCXMLC ${QMAKE_FILE_IN} -oh ${QMAKE_FILE_OUT} -ocpp $$QSCXMLC_DIR/${QMAKE_FILE_BASE}$${first(QMAKE_EXT_CPP)}
qscxmlc.output = $$QSCXMLC_DIR/${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
qscxmlc.CONFIG += target_predeps
qscxmlc.depends += $$QMAKE_QSCXMLC_EXE

QMAKE_EXTRA_COMPILERS += qscxmlc

qscxmlc_sm.name = QSCXMLC ${QMAKE_FILE_IN}.cpp
qscxmlc_sm.input = QSCXMLC_HEADERS
qscxmlc_sm.variable_out = GENERATED_SOURCES
qscxmlc_sm.commands = $$escape_expand(\\n) # force creation of rule
qscxmlc_sm.output = $$QSCXMLC_DIR/${QMAKE_FILE_BASE}$${first(QMAKE_EXT_CPP)}
qscxmlc_sm.CONFIG += target_predeps

QMAKE_EXTRA_COMPILERS += qscxmlc_sm
}

!isEmpty(STATECHARTS) {
    INCLUDEPATH += $$absolute_path($$QSCXMLC_DIR, $$OUT_PWD)
}

QMAKE_DIR_REPLACE += QSCXMLC_DIR
QMAKE_DIR_REPLACE_SANE += QSCXMLC_DIR