qt5base-lts/mkspecs/features/resolve_config.prf
Oswald Buddenhagen 9dcbfc1c44 refactor build config resolution
the current approach of having "free-flying" prf files for such a core
issue is rather insane. this was noticed early on, as evidenced by the
forcible loading of debug/release/debug_and_release in default_post.
however, things remained a mess, in particular static vs. shared.

consequently, the commit merges all related feature files. the actual
config resolution is put in a separate feature file, so it can be loaded
by resolve_target if that happens to be loaded early on.

Change-Id: Ie30e7c63cabe9409a3263ca1650e323a870926f2
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-02-18 15:52:36 +01:00

52 lines
1.1 KiB
Plaintext

#
# W A R N I N G
# -------------
#
# This file is not part of the Qt API. It exists purely as an
# implementation detail. It may change from version to version
# without notice, or even be removed.
#
# We mean it.
#
staticlib: \
CONFIG += static
else: dll: \
CONFIG += shared
!shared:!static {
contains(QT_CONFIG, static): CONFIG += static
else: CONFIG += shared
}
CONFIG(static, static|shared) {
CONFIG -= shared dll
contains(TEMPLATE, ".*lib"): CONFIG += staticlib
} else {
CONFIG -= static staticlib
contains(TEMPLATE, ".*lib"): CONFIG += dll
}
static_and_shared {
!macx-xcode: addExclusiveBuilds(static, Static, shared, Shared)
} else: fix_output_dirs {
static: \
fixExclusiveOutputDirs(static, shared)
else: \
fixExclusiveOutputDirs(shared, static)
}
CONFIG(debug, debug|release): \
CONFIG -= release
else: \
CONFIG -= debug
debug_and_release {
!macx-xcode: addExclusiveBuilds(debug, Debug, release, Release)
} else: fix_output_dirs {
debug: \
fixExclusiveOutputDirs(debug, release)
else: \
fixExclusiveOutputDirs(release, debug)
}