aeb350d9024fdef097cfcd20db2183777b6ddaeb
[profile/ivi/qtbase.git] / mkspecs / features / default_post.prf
1 contains(TEMPLATE, ".*(lib|app)"):CONFIG += have_target
2
3 !have_target:!force_qt: CONFIG -= qt
4
5 !shared:!dll:!static:!staticlib {
6     contains(QT_CONFIG, static): CONFIG += static
7     else: CONFIG += shared
8 }
9
10 QT_BREAKPAD_ROOT_PATH = $$(QT_BREAKPAD_ROOT_PATH)
11 !isEmpty(QT_BREAKPAD_ROOT_PATH): \   # quick test first whether requested ...
12         !staticlib:!static:CONFIG(release, debug|release):have_target: \   # is it applicable?
13         !contains(TARGET, .*phony_target.*): \   # monster hack, you don't really see this here, right? ;)
14         system($$QT_BREAKPAD_ROOT_PATH/qtbreakpadsymbols --breakpad-exists) {    # do we really have it?
15     CONFIG += breakpad
16     CONFIG -= no_debug_info separate_debug_info
17     QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
18     QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO
19     QMAKE_LFLAGS_RELEASE = $$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO
20 }
21
22 CONFIG(debug, debug|release):load(debug)
23 else:load(release)
24 debug_and_release:load(debug_and_release)
25 incredibuild_xge {
26     CONFIG -= incredibuild_xge
27     CONFIG = incredibuild_xge $$CONFIG
28 }
29
30 breakpad {
31     load(resolve_target)
32     win32: QMAKE_CLEAN += $$replace(QMAKE_RESOLVED_TARGET, ...$, pdb)  # for the debug case it is hardcoded in qmake
33
34     DEBUGFILENAME = $$shell_quote($$native_path(($$QMAKE_RESOLVED_TARGET))
35     PROJECTPATH = $$shell_quote($$native_path($$OUT_PWD))
36
37     !isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$QMAKE_POST_LINK$$escape_expand(\\n\\t)
38     QMAKE_POST_LINK = $$QMAKE_POST_LINK$$quote($${QT_BREAKPAD_ROOT_PATH}$${QMAKE_DIR_SEP}qtbreakpadsymbols $$DEBUGFILENAME $$PROJECTPATH)
39     !isEmpty(QMAKE_STRIP):QMAKE_POST_LINK = $$QMAKE_POST_LINK$$escape_expand(\\n\\t)$$quote($$QMAKE_STRIP $$DEBUGFILENAME)
40 }
41
42 QMAKE_INCDIR += $$QMAKE_INCDIR_POST
43 QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST
44
45 # Let every project have a standard GNU `check' target
46 !contains(QMAKE_EXTRA_TARGETS, check) {
47     # `make check' should iterate through all subdirs
48     # (except those with no_default_target or no_check_target)
49     contains(TEMPLATE, subdirs) {
50         for(subdir, SUBDIRS) {
51             subdir_config=$$eval($${subdir}.CONFIG)
52             !contains(subdir_config, no_check_target):!contains(subdir_config, no_default_target):check.recurse += $$subdir
53             unset(subdir_config)
54         }
55         !isEmpty(check.recurse) {
56             # setup the recurse target only when there is to recurse into
57             check.CONFIG = recursive
58             check.recurse_target = check
59         }
60     }
61     # `make check' should imply building the project
62     else {
63         check.depends = first
64     }
65     QMAKE_EXTRA_TARGETS += check
66 }
67
68 # Let every project have a 'docs' target
69 !contains(QMAKE_EXTRA_TARGETS, docs) {
70     contains(TEMPLATE, subdirs) {
71         # `make docs' should iterate through all subdirs
72         # (except those with no_default_target or no_docs_target)
73         !contains(CONFIG, no_docs_target):for(subdir, SUBDIRS) {
74             subdir_config = $$eval($${subdir}.CONFIG)
75             !contains(subdir_config, no_docs_target):!contains(subdir_config, no_default_target):docs.recurse += $$subdir
76             unset(subdir_config)
77         }
78         !isEmpty(docs.recurse) {
79             # setup the recurse target only when there is something to recurse into
80             docs.CONFIG = recursive
81             docs.recurse_target = docs
82         }
83     } else {
84         # apps and libs only generate docs if QMAKE_DOCS is set
85         !isEmpty(QMAKE_DOCS) {
86             !exists($$QMAKE_DOCS):error("Cannot find documentation specification file $$QMAKE_DOCS")
87             qtPrepareTool(QDOC, qdoc)
88             for(index, QMAKE_DOCS_INDEX):QDOC_INDEX += -indexdir $$index
89             !isEmpty(QMAKE_DOCS_INSTALLDIR):QMAKE_DOCS_OPTIONS += -installdir $$QMAKE_DOCS_INSTALLDIR
90             docs.commands += $$QDOC $$QMAKE_DOCS_OPTIONS $$QDOC_INDEX $$QMAKE_DOCS
91         }
92     }
93     QMAKE_EXTRA_TARGETS += docs
94 }