source: trunk/mkspecs/features/default_post.prf@ 1036

Last change on this file since 1036 was 846, checked in by Dmitry A. Kuminov, 14 years ago

trunk: Merged in qt 4.7.2 sources from branches/vendor/nokia/qt.

File size: 5.1 KB
Line 
1QT_BREAKPAD_ROOT_PATH = $$(QT_BREAKPAD_ROOT_PATH)
2!isEmpty(QT_BREAKPAD_ROOT_PATH): \ # quick test first whether requested ...
3 !staticlib:!static:CONFIG(release, debug|release):contains(TEMPLATE, .*(app|lib)): \ # is it applicable?
4 !contains(TARGET, .*phony_target.*): \ # monster hack, you don't really see this here, right? ;)
5 system($$QT_BREAKPAD_ROOT_PATH/qtbreakpadsymbols --breakpad-exists) { # do we really have it?
6 CONFIG += breakpad
7 CONFIG -= no_debug_info separate_debug_info
8 QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
9 QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO
10 QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO
11}
12
13CONFIG(debug, debug|release):load(debug)
14else:load(release)
15debug_and_release:load(debug_and_release)
16staticlib:load(staticlib)
17CONFIG(static, static|shared):load(static)
18else:load(shared)
19static_and_shared:load(static_and_shared)
20incredibuild_xge {
21 CONFIG -= incredibuild_xge
22 CONFIG = incredibuild_xge $$CONFIG
23}
24
25breakpad {
26 !contains(DESTDIR, (/|.:[/\\\\]).*):TARGET_BASEPATH = $${OUT_PWD}/
27 !isEmpty(DESTDIR):TARGET_BASEPATH = $${TARGET_BASEPATH}$${DESTDIR}/
28
29 win32 {
30 TARGET_BASEPATH ~= s,/,\\,
31 contains(TEMPLATE, .*lib) {
32 isEmpty(TARGET_VERSION_EXT):!isEmpty(VERSION) {
33 TARGET_VERSION_EXT = $$section(VERSION, ., 0, 0)
34 isEqual(TARGET_VERSION_EXT, 0):unset(TARGET_VERSION_EXT)
35 }
36 TARGET_EXT = .dll
37 } else {
38 TARGET_EXT = .exe
39 }
40
41 DEBUGFILENAME = $${TARGET_BASEPATH}$${TARGET}$${TARGET_VERSION_EXT}$${TARGET_EXT}
42 PDBFILENAME = $${TARGET_BASEPATH}$${TARGET}$${TARGET_VERSION_EXT}.pdb
43 DEBUGFILENAME ~= s,/,\\,
44 PDBFILENAME ~= s,/,\\,
45 QMAKE_CLEAN += $$PDBFILENAME # for the debug case it is hardcoded in qmake
46 } else {
47 contains(TEMPLATE, .*lib):LIBPREFIX = lib
48
49 macx {
50 equals(TEMPLATE, lib) {
51 lib_bundle {
52 TARGET_BASEPATH = $${TARGET_BASEPATH}$${TARGET}.framework/$${TARGET}
53 } else {
54 TARGET_BASEPATH = $${TARGET_BASEPATH}$${LIBPREFIX}$${TARGET}
55 !plugin {
56 TEMP_VERSION = $$section(VERSION, ., 0, 0)
57 isEmpty(TEMP_VERSION):TEMP_VERSION = 1
58 TARGET_BASEPATH = $${TARGET_BASEPATH}.$${TEMP_VERSION}
59 }
60 TARGET_BASEPATH = $${TARGET_BASEPATH}.$${QMAKE_EXTENSION_SHLIB}
61 }
62 } else {
63 app_bundle {
64 TARGET_BASEPATH = $${TARGET_BASEPATH}$${TARGET}.app/Contents/MacOS/$${TARGET}
65 } else {
66 TARGET_BASEPATH = $${TARGET_BASEPATH}$${TARGET}
67 }
68 }
69 DEBUGFILENAME = $$TARGET_BASEPATH
70 } else {
71 equals(TEMPLATE, lib) {
72 plugin {
73 TARGET_BASEPATH = $${TARGET_BASEPATH}$${LIBPREFIX}$${TARGET}.so
74 } else {
75 TEMP_VERSION = $$VERSION
76 isEmpty(TEMP_VERSION):TEMP_VERSION = 1.0.0
77 TARGET_BASEPATH = $${TARGET_BASEPATH}$${LIBPREFIX}$${TARGET}.so.$${TEMP_VERSION}
78 }
79 } else {
80 TARGET_BASEPATH = $${TARGET_BASEPATH}$${TARGET}
81 }
82 DEBUGFILENAME = $$TARGET_BASEPATH
83 }
84 }
85
86 PROJECTPATH = $$OUT_PWD
87 win32:PROJECTPATH ~= s,/,\\,
88
89 !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$QMAKE_POST_LINK$$escape_expand(\\n\\t)
90 QMAKE_POST_LINK += $$quote($${QT_BREAKPAD_ROOT_PATH}$${DIR_SEPARATOR}qtbreakpadsymbols \"$$DEBUGFILENAME\" \"$$PROJECTPATH\")
91 !isEmpty(QMAKE_STRIP):QMAKE_POST_LINK = $$quote($$QMAKE_POST_LINK$$escape_expand(\\n\\t)$$QMAKE_STRIP \"$$DEBUGFILENAME\")
92
93 unset(TARGET_BASEPATH)
94 unset(SYMBOLFILENAME)
95 unset(TARGET_EXT)
96 unset(TARGET_VERSION_EXT)
97 unset(TEMP_VERSION)
98}
99
100QMAKE_INCDIR += $$QMAKE_INCDIR_POST
101QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST
102
103# Let every project have a standard GNU `check' target
104!contains(QMAKE_EXTRA_TARGETS, check) {
105 # `make check' should iterate through all subdirs
106 contains(TEMPLATE, subdirs) {
107 check.CONFIG = recursive
108 check.recurse = $$SUBDIRS
109 check.recurse_target = check
110 }
111 # `make check' should imply building the project
112 else {
113 check.depends = first
114 }
115 QMAKE_EXTRA_TARGETS += check
116}
117
118# Add special translation sources for projects that require them.
119# Note 1: Since lupdate will not parse regular config scopes right, contains checks are used instead.
120# Note 2: Checking for last value of TEMPLATE is used instead of simple contains check because
121# lupdate doesn't respect "-=" variable assignments and therefore always finds "app"
122# as the first value of TEMPLATE variable.
123contains(CONFIG, lupdate_run):contains(CONFIG, localize_deployment) {
124 equals($$list($$last(TEMPLATE)), app): SOURCES += $$[QT_INSTALL_DATA]/mkspecs/common/symbian/appCaptionForTranslation.cpp
125 SOURCES += $$[QT_INSTALL_DATA]/mkspecs/common/symbian/packageNameForTranslation.cpp
126}
Note: See TracBrowser for help on using the repository browser.