qmake: rework .prl filename construction
instead of trying to reverse-engineer it from the final target including extension and possible bundle path, construct the basename explicitly. this avoids that we mangle the filename if the actual target contains a period for some reason. Task-number: QTBUG-70097 Change-Id: I0bae9f010ab82e258680830250f8e28656f09d67 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
19b12ac9c2
commit
999d4d5777
@ -1102,18 +1102,7 @@ MakefileGenerator::write()
|
||||
QString
|
||||
MakefileGenerator::prlFileName(bool fixify)
|
||||
{
|
||||
QString ret = project->first("TARGET_PRL").toQString();
|
||||
if(ret.isEmpty())
|
||||
ret = project->first("TARGET").toQString();
|
||||
int slsh = ret.lastIndexOf(Option::dir_sep);
|
||||
if(slsh != -1)
|
||||
ret.remove(0, slsh);
|
||||
if(!ret.endsWith(Option::prl_ext)) {
|
||||
int dot = ret.indexOf('.');
|
||||
if(dot != -1)
|
||||
ret.truncate(dot);
|
||||
ret += Option::prl_ext;
|
||||
}
|
||||
QString ret = project->first("PRL_TARGET") + Option::prl_ext;
|
||||
if(!project->isEmpty("QMAKE_BUNDLE"))
|
||||
ret.prepend(project->first("QMAKE_BUNDLE") + Option::dir_sep);
|
||||
if(fixify) {
|
||||
|
@ -1244,7 +1244,8 @@ void UnixMakefileGenerator::init2()
|
||||
if(!project->isEmpty("TARGET"))
|
||||
project->values("TARGET").first().prepend(project->first("DESTDIR"));
|
||||
} else if (project->isActiveConfig("staticlib")) {
|
||||
project->values("TARGET").first().prepend(project->first("QMAKE_PREFIX_STATICLIB"));
|
||||
project->values("PRL_TARGET") =
|
||||
project->values("TARGET").first().prepend(project->first("QMAKE_PREFIX_STATICLIB"));
|
||||
project->values("TARGET").first() += "." + project->first("QMAKE_EXTENSION_STATICLIB");
|
||||
if(project->values("QMAKE_AR_CMD").isEmpty())
|
||||
project->values("QMAKE_AR_CMD").append("$(AR) $(DESTDIR)$(TARGET) $(OBJECTS)");
|
||||
@ -1278,6 +1279,7 @@ void UnixMakefileGenerator::init2()
|
||||
QString prefix;
|
||||
if(!project->isActiveConfig("no_plugin_name_prefix"))
|
||||
prefix = "lib";
|
||||
project->values("PRL_TARGET").prepend(prefix + project->first("TARGET"));
|
||||
project->values("TARGET_x.y.z").append(prefix +
|
||||
project->first("TARGET") + "." +
|
||||
project->first("QMAKE_EXTENSION_PLUGIN"));
|
||||
@ -1291,6 +1293,7 @@ void UnixMakefileGenerator::init2()
|
||||
"." + project->first("VER_MAJ"));
|
||||
project->values("TARGET") = project->values("TARGET_x.y.z");
|
||||
} else if (!project->isEmpty("QMAKE_HPUX_SHLIB")) {
|
||||
project->values("PRL_TARGET").prepend("lib" + project->first("TARGET"));
|
||||
project->values("TARGET_").append("lib" + project->first("TARGET") + ".sl");
|
||||
if(project->isActiveConfig("lib_version_first"))
|
||||
project->values("TARGET_x").append("lib" + project->first("VER_MAJ") + "." +
|
||||
@ -1300,6 +1303,7 @@ void UnixMakefileGenerator::init2()
|
||||
project->first("VER_MAJ"));
|
||||
project->values("TARGET") = project->values("TARGET_x");
|
||||
} else if (!project->isEmpty("QMAKE_AIX_SHLIB")) {
|
||||
project->values("PRL_TARGET").prepend("lib" + project->first("TARGET"));
|
||||
project->values("TARGET_").append(project->first("QMAKE_PREFIX_STATICLIB") + project->first("TARGET")
|
||||
+ "." + project->first("QMAKE_EXTENSION_STATICLIB"));
|
||||
if(project->isActiveConfig("lib_version_first")) {
|
||||
@ -1331,6 +1335,7 @@ void UnixMakefileGenerator::init2()
|
||||
}
|
||||
project->values("TARGET") = project->values("TARGET_x.y.z");
|
||||
} else {
|
||||
project->values("PRL_TARGET").prepend("lib" + project->first("TARGET"));
|
||||
project->values("TARGET_").append("lib" + project->first("TARGET") + "." +
|
||||
project->first("QMAKE_EXTENSION_SHLIB"));
|
||||
if(project->isActiveConfig("lib_version_first")) {
|
||||
|
@ -204,8 +204,6 @@ void MingwMakefileGenerator::init()
|
||||
return;
|
||||
}
|
||||
|
||||
project->values("TARGET_PRL").append(project->first("TARGET"));
|
||||
|
||||
processVars();
|
||||
|
||||
project->values("QMAKE_LIBS") += project->values("RES_FILE");
|
||||
|
@ -185,7 +185,8 @@ void Win32MakefileGenerator::processVars()
|
||||
if (project->first("TEMPLATE").endsWith("aux"))
|
||||
return;
|
||||
|
||||
project->values("QMAKE_ORIG_TARGET") = project->values("TARGET");
|
||||
project->values("PRL_TARGET") =
|
||||
project->values("QMAKE_ORIG_TARGET") = project->values("TARGET");
|
||||
if (project->isEmpty("QMAKE_PROJECT_NAME"))
|
||||
project->values("QMAKE_PROJECT_NAME") = project->values("QMAKE_ORIG_TARGET");
|
||||
else if (project->first("TEMPLATE").startsWith("vc"))
|
||||
|
Loading…
x
Reference in New Issue
Block a user