diff --git a/mkspecs/features/resolve_target.prf b/mkspecs/features/resolve_target.prf index d6460c1d9d256d354d2c17c2a929bb3c81d4958e..5c3a46e117e65b2957525b65202e52e624b6043e 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} }