summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/resolve_config.prf
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs/features/resolve_config.prf')
-rw-r--r--mkspecs/features/resolve_config.prf37
1 files changed, 30 insertions, 7 deletions
diff --git a/mkspecs/features/resolve_config.prf b/mkspecs/features/resolve_config.prf
index 41e82b2382..3884598a94 100644
--- a/mkspecs/features/resolve_config.prf
+++ b/mkspecs/features/resolve_config.prf
@@ -36,11 +36,34 @@ CONFIG(debug, debug|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)
+!macx-xcode {
+ debug_and_release {
+ addExclusiveBuilds(debug, Debug, release, Release)
+ } else: fix_output_dirs {
+ debug: \
+ fixExclusiveOutputDirs(debug, release)
+ else: \
+ fixExclusiveOutputDirs(release, debug)
+ }
+} else {
+ # The Xcode generator always generates project files with
+ # debug and release configurations, regardless of whether
+ # or not debug_and_release is active.
+ for(build, $$list(debug release)) {
+ suffix =
+ contains(QT_CONFIG, debug_and_release) {
+ equals(build, debug): \
+ suffix = _debug
+ } else {
+ contains(QT_CONFIG, debug): \
+ suffix = _debug
+ }
+
+ library_suffix_$${build}.name = $$QMAKE_XCODE_LIBRARY_SUFFIX_SETTING
+ library_suffix_$${build}.value = $$suffix
+ library_suffix_$${build}.build = $$build
+ QMAKE_MAC_XCODE_SETTINGS += library_suffix_$${build}
+
+ CONFIG *= xcode_dynamic_library_suffix
+ }
}