diff options
author | Jake Petroules <jake.petroules@theqtcompany.com> | 2016-04-06 20:36:45 -0700 |
---|---|---|
committer | Jake Petroules <jake.petroules@theqtcompany.com> | 2016-04-11 19:45:10 +0000 |
commit | 838fd4039e6ac48761cf1064d94b735902b014ac (patch) | |
tree | 458576ef8859e5cd528e3c12385f448432841947 /mkspecs | |
parent | 3f73ecd59aea46d6ddd8d5dc1e7d4ace6307bafa (diff) |
Fix bugs in accuracy of target path calculation in resolve_target.
Incidentally, this introduces QMAKE_RESOLVED_BUNDLE, which can be used
to determine the path of the bundle wrapper itself as well as the
executable target.
This is necessary for a subsequent patch adding support for
-separate-debug-info on Apple platforms.
Change-Id: Ia11430026b8e3f171e5db6677b190b8356832805
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Diffstat (limited to 'mkspecs')
-rw-r--r-- | mkspecs/features/resolve_target.prf | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/mkspecs/features/resolve_target.prf b/mkspecs/features/resolve_target.prf index d6460c1d9d..5c3a46e117 100644 --- a/mkspecs/features/resolve_target.prf +++ b/mkspecs/features/resolve_target.prf @@ -33,7 +33,18 @@ win32 { mac { equals(TEMPLATE, lib) { lib_bundle { - QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${TARGET}.framework/$${TARGET} + !isEmpty(QMAKE_FRAMEWORK_BUNDLE_NAME): \ + framework_target = $$QMAKE_FRAMEWORK_BUNDLE_NAME + else: \ + framework_target = $$TARGET + QMAKE_RESOLVED_BUNDLE = $${QMAKE_RESOLVED_TARGET}$${framework_target}.framework + !shallow_bundle { + TEMP_VERSION = $$section(VERSION, ., 0, 0) + isEmpty(TEMP_VERSION):TEMP_VERSION = A + QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_BUNDLE}/Versions/$${TEMP_VERSION}/$${TARGET} + } else { + QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_BUNDLE}/$${TARGET} + } } else { QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${LIBPREFIX}$${TARGET} !plugin { @@ -46,7 +57,15 @@ win32 { } } else { app_bundle { - QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${TARGET}.app/Contents/MacOS/$${TARGET} + !isEmpty(QMAKE_APPLICATION_BUNDLE_NAME): \ + app_target = $$QMAKE_APPLICATION_BUNDLE_NAME + else: \ + app_target = $$TARGET + QMAKE_RESOLVED_BUNDLE = $${QMAKE_RESOLVED_TARGET}$${app_target}.app + !shallow_bundle: \ + QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_BUNDLE}/Contents/MacOS/$${TARGET} + else: \ + QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_BUNDLE}/$${TARGET} } else { QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${TARGET} } |