fix target strip-ing inside mac bundles

this went unnoticed so far, because the mac qmakespecs don't define a
strip command to start with.

Change-Id: Iac3e7ffa6f400373552134a44b9713aaf5f44589
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
This commit is contained in:
Oswald Buddenhagen 2013-07-04 16:09:05 +02:00 committed by The Qt Project
parent 944e1d7b6a
commit 1cbb228a10

View File

@ -818,15 +818,20 @@ UnixMakefileGenerator::defaultInstall(const QString &t)
if(!project->isEmpty("QMAKE_RANLIB")) if(!project->isEmpty("QMAKE_RANLIB"))
ret += QString("\n\t$(RANLIB) \"") + dst_targ + "\""; ret += QString("\n\t$(RANLIB) \"") + dst_targ + "\"";
} else if(!project->isActiveConfig("debug") && !project->isActiveConfig("nostrip") && !project->isEmpty("QMAKE_STRIP")) { } else if(!project->isActiveConfig("debug") && !project->isActiveConfig("nostrip") && !project->isEmpty("QMAKE_STRIP")) {
QString suffix;
ret += "\n\t-$(STRIP)"; ret += "\n\t-$(STRIP)";
if(project->first("TEMPLATE") == "lib" && !project->isEmpty("QMAKE_STRIPFLAGS_LIB")) if (project->first("TEMPLATE") == "lib") {
ret += " " + var("QMAKE_STRIPFLAGS_LIB"); if (!project->isEmpty("QMAKE_STRIPFLAGS_LIB"))
else if(project->first("TEMPLATE") == "app" && !project->isEmpty("QMAKE_STRIPFLAGS_APP")) ret += " " + var("QMAKE_STRIPFLAGS_LIB");
ret += " " + var("QMAKE_STRIPFLAGS_APP"); if (bundle)
if(bundle) suffix = "/Versions/" + project->first("QMAKE_FRAMEWORK_VERSION") + "/$(TARGET)";
ret = " \"" + dst_targ + "/Contents/MacOS/$(QMAKE_TARGET)\""; } else if (project->first("TEMPLATE") == "app") {
else if (!project->isEmpty("QMAKE_STRIPFLAGS_APP"))
ret += " \"" + dst_targ + "\""; ret += " " + var("QMAKE_STRIPFLAGS_APP");
if (bundle)
suffix = "/" + project->first("QMAKE_BUNDLE_LOCATION") + "/$(QMAKE_TARGET)";
}
ret += " \"" + dst_targ + suffix + "\"";
} }
if(!uninst.isEmpty()) if(!uninst.isEmpty())
uninst.append("\n\t"); uninst.append("\n\t");