summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/default_post.prf
blob: fe825f58073d08d1971e0eaac034ca36a85e42d5 (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
# This file is loaded by qmake right after loading the actual project file.

contains(TEMPLATE, ".*(lib|app)"):CONFIG += have_target

!have_target:!force_qt: CONFIG -= qt

load(resolve_config)

QT_BREAKPAD_ROOT_PATH = $$(QT_BREAKPAD_ROOT_PATH)
!isEmpty(QT_BREAKPAD_ROOT_PATH): \   # quick test first whether requested ...
        !staticlib:!static:CONFIG(release, debug|release):have_target: \   # is it applicable?
        !contains(TARGET, .*phony_target.*): \   # monster hack, you don't really see this here, right? ;)
        system($$QT_BREAKPAD_ROOT_PATH/qtbreakpadsymbols --breakpad-exists) {    # do we really have it?
    CONFIG += breakpad force_debug_info
    CONFIG -= no_debug_info separate_debug_info
}

force_debug_info {
    QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
    QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO
    QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO
}

debug {
    QMAKE_CFLAGS += $$QMAKE_CFLAGS_DEBUG
    QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_DEBUG
    QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_DEBUG
    QMAKE_LFLAGS += $$QMAKE_LFLAGS_DEBUG
    QMAKE_LIBFLAGS += $$QMAKE_LIBFLAGS_DEBUG
} else {
    QMAKE_CFLAGS += $$QMAKE_CFLAGS_RELEASE
    QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_RELEASE
    QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_OBJECTIVE_CFLAGS_RELEASE
    QMAKE_LFLAGS += $$QMAKE_LFLAGS_RELEASE
    QMAKE_LIBFLAGS += $$QMAKE_LIBFLAGS_RELEASE
}

dll:win32: QMAKE_LFLAGS += $$QMAKE_LFLAGS_DLL
static:mac: QMAKE_LFLAGS += $$QMAKE_LFLAGS_STATIC_LIB
staticlib:unix {
    QMAKE_CFLAGS += $$QMAKE_CFLAGS_STATIC_LIB
    QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_STATIC_LIB
}

incredibuild_xge {
    CONFIG -= incredibuild_xge
    CONFIG = incredibuild_xge $$CONFIG
}

force_debug_info:win32 {
    load(resolve_target)
    QMAKE_CLEAN += $$replace(QMAKE_RESOLVED_TARGET, ...$, pdb)  # for the debug case it is hardcoded in qmake
}

breakpad {
    load(resolve_target)
    DEBUGFILENAME = $$shell_quote($$shell_path($$QMAKE_RESOLVED_TARGET))
    PROJECTPATH = $$shell_quote($$shell_path($$OUT_PWD))

    !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$QMAKE_POST_LINK$$escape_expand(\\n\\t)
    QMAKE_POST_LINK = $$QMAKE_POST_LINK$$quote($${QT_BREAKPAD_ROOT_PATH}$${QMAKE_DIR_SEP}qtbreakpadsymbols $$DEBUGFILENAME $$PROJECTPATH)
    !isEmpty(QMAKE_STRIP):QMAKE_POST_LINK = $$QMAKE_POST_LINK$$escape_expand(\\n\\t)$$quote($$QMAKE_STRIP $$DEBUGFILENAME)
}

QMAKE_INCDIR += $$QMAKE_INCDIR_POST
QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST