qt5base-lts/mkspecs/features/default_post.prf
Marius Storm-Olsen 58ab3a79a0 Set QMAKE_DOCS_INSTALLDIR to $$[QT_INSTALL_DOCS] to allow overriding in .pro
Normally you want to pass -installdir $$[QT_INSTALL_DOCS] to qdoc by
default. However, if you want to force the generation of URL links to
the documentation, the option cannot be specified.

By setting the QMAKE_DOCS_INSTALLDIR variable in default_pre.prf a
project may override it at will, as for example Qt Creator would do.

Change-Id: Ib31f03acf4e8050cf2dd3aa33f3a10ed027f1df7
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-05-15 14:34:15 +02:00

94 lines
3.8 KiB
Plaintext

QT_BREAKPAD_ROOT_PATH = $$(QT_BREAKPAD_ROOT_PATH)
!isEmpty(QT_BREAKPAD_ROOT_PATH): \ # quick test first whether requested ...
!staticlib:!static:CONFIG(release, debug|release):contains(TEMPLATE, .*(app|lib)): \ # 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
CONFIG -= no_debug_info separate_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
}
CONFIG(debug, debug|release):load(debug)
else:load(release)
debug_and_release:load(debug_and_release)
incredibuild_xge {
CONFIG -= incredibuild_xge
CONFIG = incredibuild_xge $$CONFIG
}
breakpad {
load(resolve_target)
win32 {
DEBUGFILENAME = $${QMAKE_RESOLVED_TARGET}
PDBFILENAME = $$replace(QMAKE_RESOLVED_TARGET, ...$, pdb)
DEBUGFILENAME ~= s,/,\\,
PDBFILENAME ~= s,/,\\,
QMAKE_CLEAN += $$PDBFILENAME # for the debug case it is hardcoded in qmake
} else {
DEBUGFILENAME = $$QMAKE_RESOLVED_TARGET
}
PROJECTPATH = $$OUT_PWD
win32:PROJECTPATH ~= s,/,\\,
!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
# Let every project have a standard GNU `check' target
!contains(QMAKE_EXTRA_TARGETS, check) {
# `make check' should iterate through all subdirs
# (except those with no_default_target or no_check_target)
contains(TEMPLATE, subdirs) {
for(subdir, SUBDIRS) {
subdir_config=$$eval($${subdir}.CONFIG)
!contains(subdir_config, no_check_target):!contains(subdir_config, no_default_target):check.recurse += $$subdir
unset(subdir_config)
}
!isEmpty(check.recurse) {
# setup the recurse target only when there is to recurse into
check.CONFIG = recursive
check.recurse_target = check
}
}
# `make check' should imply building the project
else {
check.depends = first
}
QMAKE_EXTRA_TARGETS += check
}
# Let every project have a 'docs' target
!contains(QMAKE_EXTRA_TARGETS, docs) {
contains(TEMPLATE, subdirs) {
# `make docs' should iterate through all subdirs
# (except those with no_default_target or no_docs_target)
!contains(CONFIG, no_docs_target):for(subdir, SUBDIRS) {
subdir_config = $$eval($${subdir}.CONFIG)
!contains(subdir_config, no_docs_target):!contains(subdir_config, no_default_target):docs.recurse += $$subdir
unset(subdir_config)
}
!isEmpty(docs.recurse) {
# setup the recurse target only when there is something to recurse into
docs.CONFIG = recursive
docs.recurse_target = docs
}
} else {
# apps and libs only generate docs if QMAKE_DOCS is set
!isEmpty(QMAKE_DOCS) {
!exists($$QMAKE_DOCS):error("Cannot find documentation specification file $$QMAKE_DOCS")
qtPrepareTool(QDOC, qdoc)
for(index, QMAKE_DOCS_INDEX):QDOC_INDEX += -indexdir $$index
!isEmpty(QMAKE_DOCS_INSTALLDIR):QMAKE_DOCS_OPTIONS += -installdir $$QMAKE_DOCS_INSTALLDIR
docs.commands += $$QDOC $$QMAKE_DOCS_OPTIONS $$QDOC_INDEX $$QMAKE_DOCS
}
}
QMAKE_EXTRA_TARGETS += docs
}