From 1cbb228a10140184c2430ffc160310384c58f5c0 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Thu, 4 Jul 2013 16:09:05 +0200 Subject: [PATCH] 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 --- qmake/generators/unix/unixmake.cpp | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp index bbaecbfd722..507a3a42c72 100644 --- a/qmake/generators/unix/unixmake.cpp +++ b/qmake/generators/unix/unixmake.cpp @@ -818,15 +818,20 @@ UnixMakefileGenerator::defaultInstall(const QString &t) if(!project->isEmpty("QMAKE_RANLIB")) ret += QString("\n\t$(RANLIB) \"") + dst_targ + "\""; } else if(!project->isActiveConfig("debug") && !project->isActiveConfig("nostrip") && !project->isEmpty("QMAKE_STRIP")) { + QString suffix; ret += "\n\t-$(STRIP)"; - if(project->first("TEMPLATE") == "lib" && !project->isEmpty("QMAKE_STRIPFLAGS_LIB")) - ret += " " + var("QMAKE_STRIPFLAGS_LIB"); - else if(project->first("TEMPLATE") == "app" && !project->isEmpty("QMAKE_STRIPFLAGS_APP")) - ret += " " + var("QMAKE_STRIPFLAGS_APP"); - if(bundle) - ret = " \"" + dst_targ + "/Contents/MacOS/$(QMAKE_TARGET)\""; - else - ret += " \"" + dst_targ + "\""; + if (project->first("TEMPLATE") == "lib") { + if (!project->isEmpty("QMAKE_STRIPFLAGS_LIB")) + ret += " " + var("QMAKE_STRIPFLAGS_LIB"); + if (bundle) + suffix = "/Versions/" + project->first("QMAKE_FRAMEWORK_VERSION") + "/$(TARGET)"; + } else if (project->first("TEMPLATE") == "app") { + if (!project->isEmpty("QMAKE_STRIPFLAGS_APP")) + ret += " " + var("QMAKE_STRIPFLAGS_APP"); + if (bundle) + suffix = "/" + project->first("QMAKE_BUNDLE_LOCATION") + "/$(QMAKE_TARGET)"; + } + ret += " \"" + dst_targ + suffix + "\""; } if(!uninst.isEmpty()) uninst.append("\n\t");