summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mkspecs/features/default_post.prf63
-rw-r--r--mkspecs/features/resolve_target.prf58
2 files changed, 62 insertions, 59 deletions
diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf
index e058f33683..44f4b4fc38 100644
--- a/mkspecs/features/default_post.prf
+++ b/mkspecs/features/default_post.prf
@@ -19,64 +19,15 @@ incredibuild_xge {
}
breakpad {
- !contains(DESTDIR, (/|.:[/\\\\]).*):TARGET_BASEPATH = $${OUT_PWD}/
- !isEmpty(DESTDIR):TARGET_BASEPATH = $${TARGET_BASEPATH}$${DESTDIR}/
-
+ load(resolve_target)
win32 {
- TARGET_BASEPATH ~= s,/,\\,
- contains(TEMPLATE, .*lib) {
- isEmpty(TARGET_VERSION_EXT):!isEmpty(VERSION) {
- TARGET_VERSION_EXT = $$section(VERSION, ., 0, 0)
- isEqual(TARGET_VERSION_EXT, 0):unset(TARGET_VERSION_EXT)
- }
- TARGET_EXT = .dll
- } else {
- TARGET_EXT = .exe
- }
-
- DEBUGFILENAME = $${TARGET_BASEPATH}$${TARGET}$${TARGET_VERSION_EXT}$${TARGET_EXT}
- PDBFILENAME = $${TARGET_BASEPATH}$${TARGET}$${TARGET_VERSION_EXT}.pdb
+ 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 {
- contains(TEMPLATE, .*lib):LIBPREFIX = lib
-
- macx {
- equals(TEMPLATE, lib) {
- lib_bundle {
- TARGET_BASEPATH = $${TARGET_BASEPATH}$${TARGET}.framework/$${TARGET}
- } else {
- TARGET_BASEPATH = $${TARGET_BASEPATH}$${LIBPREFIX}$${TARGET}
- !plugin {
- TEMP_VERSION = $$section(VERSION, ., 0, 0)
- isEmpty(TEMP_VERSION):TEMP_VERSION = 1
- TARGET_BASEPATH = $${TARGET_BASEPATH}.$${TEMP_VERSION}
- }
- TARGET_BASEPATH = $${TARGET_BASEPATH}.$${QMAKE_EXTENSION_SHLIB}
- }
- } else {
- app_bundle {
- TARGET_BASEPATH = $${TARGET_BASEPATH}$${TARGET}.app/Contents/MacOS/$${TARGET}
- } else {
- TARGET_BASEPATH = $${TARGET_BASEPATH}$${TARGET}
- }
- }
- DEBUGFILENAME = $$TARGET_BASEPATH
- } else {
- equals(TEMPLATE, lib) {
- plugin {
- TARGET_BASEPATH = $${TARGET_BASEPATH}$${LIBPREFIX}$${TARGET}.so
- } else {
- TEMP_VERSION = $$VERSION
- isEmpty(TEMP_VERSION):TEMP_VERSION = 1.0.0
- TARGET_BASEPATH = $${TARGET_BASEPATH}$${LIBPREFIX}$${TARGET}.so.$${TEMP_VERSION}
- }
- } else {
- TARGET_BASEPATH = $${TARGET_BASEPATH}$${TARGET}
- }
- DEBUGFILENAME = $$TARGET_BASEPATH
- }
+ DEBUGFILENAME = $$QMAKE_RESOLVED_TARGET
}
PROJECTPATH = $$OUT_PWD
@@ -85,12 +36,6 @@ breakpad {
!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\")
-
- unset(TARGET_BASEPATH)
- unset(SYMBOLFILENAME)
- unset(TARGET_EXT)
- unset(TARGET_VERSION_EXT)
- unset(TEMP_VERSION)
}
QMAKE_INCDIR += $$QMAKE_INCDIR_POST
diff --git a/mkspecs/features/resolve_target.prf b/mkspecs/features/resolve_target.prf
new file mode 100644
index 0000000000..24d2e0d6b4
--- /dev/null
+++ b/mkspecs/features/resolve_target.prf
@@ -0,0 +1,58 @@
+!contains(DESTDIR, (/|.:[/\\\\]).*):QMAKE_RESOLVED_TARGET = $${OUT_PWD}/
+!isEmpty(DESTDIR):QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${DESTDIR}/
+
+win32 {
+ QMAKE_RESOLVED_TARGET ~= s,/,\\,
+ contains(TEMPLATE, .*lib) {
+ isEmpty(TARGET_VERSION_EXT):!isEmpty(VERSION) {
+ TARGET_VERSION_EXT = $$section(VERSION, ., 0, 0)
+ isEqual(TARGET_VERSION_EXT, 0):unset(TARGET_VERSION_EXT)
+ }
+ TARGET_EXT = .dll
+ } else {
+ TARGET_EXT = .exe
+ }
+ QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${TARGET}$${TARGET_VERSION_EXT}$${TARGET_EXT}
+} else {
+ contains(TEMPLATE, .*lib):LIBPREFIX = lib
+
+ macx {
+ equals(TEMPLATE, lib) {
+ lib_bundle {
+ QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${TARGET}.framework/$${TARGET}
+ } else {
+ QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${LIBPREFIX}$${TARGET}
+ !plugin {
+ TEMP_VERSION = $$section(VERSION, ., 0, 0)
+ isEmpty(TEMP_VERSION):TEMP_VERSION = 1
+ QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}.$${TEMP_VERSION}
+ }
+ QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}.$${QMAKE_EXTENSION_SHLIB}
+ }
+ } else {
+ app_bundle {
+ QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${TARGET}.app/Contents/MacOS/$${TARGET}
+ } else {
+ QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${TARGET}
+ }
+ }
+ } else {
+ equals(TEMPLATE, lib) {
+ plugin {
+ QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${LIBPREFIX}$${TARGET}.so
+ } else {
+ TEMP_VERSION = $$VERSION
+ isEmpty(TEMP_VERSION):TEMP_VERSION = 1.0.0
+ QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${LIBPREFIX}$${TARGET}.so.$${TEMP_VERSION}
+ }
+ } else {
+ QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${TARGET}
+ }
+ }
+}
+
+unset(TARGET_VERSION_EXT)
+unset(TARGET_EXT)
+unset(LIBPREFIX)
+unset(TEMP_VERSION)
+