summaryrefslogtreecommitdiffstats
path: root/src/jomlib/jomlib.pro
blob: 7b1fee9b03c3d355fe5031511c1f3a88e4d02a8f (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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
TEMPLATE = lib
TARGET = jomlib
DESTDIR = ../../lib
QT = core
CONFIG += qt staticlib debug_and_release build_all
DEFINES += _CRT_SECURE_NO_WARNINGS
DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_CAST_TO_ASCII
DEFINES += QT_USE_FAST_CONCATENATION QT_USE_FAST_OPERATOR_PLUS
PRECOMPILED_HEADER = stable.h

build_pass:CONFIG(debug, debug|release) {
    TARGET = $$join(TARGET,,,d)
}

MSYSPATH=C:\\msys
!exists($$MSYSPATH): MSYSPATH=D:\\msys
!exists($$MSYSPATH) {
    !build_pass:message("Can't locate path to MSYS. This is needed for flex.")
} else:!exists($$MSYSPATH\\1.0\\bin\\flex.exe) {
    !build_pass:message("MSYSPATH is set but flex cannot be found.")
} else {
    # One special extra compiler for ppexpr.l because
    # msys flex does not understand backslashes and I have no way
    # to translate the slashes in ${QMAKE_FILE_IN}. /me rolls eyes...
    PPEXPR_FLEX_FILE = $$PWD/ppexpr.l
    flex.name = flex ppexpr.l
    flex.input = PPEXPR_FLEX_FILE
    flex.output = ${QMAKE_FILE_BASE}-lex.inc
    flex.commands = $$MSYSPATH\\1.0\\bin\\flex.exe --noline $$PPEXPR_FLEX_FILE
    flex.CONFIG += no_link explicit_dependencies
    QMAKE_EXTRA_COMPILERS += flex

    QLALR_FILES = ppexpr.g
    qlalr.name = qlalr
    qlalr.input = QLALR_FILES
    qlalr.output = ${QMAKE_FILE_BASE}_grammar.cpp
    qlalr.commands = $$[QT_INSTALL_BINS]\\qlalr.exe --no-lines ${QMAKE_FILE_IN}
    qlalr.depends = $$PWD/${QMAKE_FILE_BASE}.l
    qlalr.dependency_type = TYPE_C
    qlalr.CONFIG += no_link explicit_dependencies
    QMAKE_EXTRA_COMPILERS += qlalr
}

win32-* {
    HEADERS +=  \
        iocompletionport.h
    SOURCES += \
        process.cpp \
        iocompletionport.cpp
} else {
    DEFINES += USE_QPROCESS
    SOURCES += \
        process_qt.cpp
}

HEADERS +=  \
    fastfileinfo.h \
    filetime.h \
    helperfunctions.h \
    makefile.h \
    makefilefactory.h \
    makefilelinereader.h \
    macrotable.h \
    exception.h \
    dependencygraph.h \
    options.h \
    parser.h \
    preprocessor.h \
    ppexprparser.h \
    targetexecutor.h \
    commandexecutor.h \
    process.h \
    processenvironment.h

SOURCES += \
    fastfileinfo.cpp \
    filetime.cpp \
    helperfunctions.cpp \
    macrotable.cpp \
    makefile.cpp \
    makefilefactory.cpp \
    makefilelinereader.cpp \
    exception.cpp \
    dependencygraph.cpp \
    options.cpp \
    parser.cpp \
    preprocessor.cpp \
    ppexpr_grammar.cpp \
    ppexprparser.cpp \
    targetexecutor.cpp \
    commandexecutor.cpp

OTHER_FILES += \
    ppexpr.g \
    ppexpr.l