summaryrefslogtreecommitdiffstats
path: root/qmake/generators/unix/unixmake.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qmake/generators/unix/unixmake.cpp')
-rw-r--r--qmake/generators/unix/unixmake.cpp53
1 files changed, 18 insertions, 35 deletions
diff --git a/qmake/generators/unix/unixmake.cpp b/qmake/generators/unix/unixmake.cpp
index e54ddf8ad73..5aa3a577cd9 100644
--- a/qmake/generators/unix/unixmake.cpp
+++ b/qmake/generators/unix/unixmake.cpp
@@ -45,10 +45,6 @@ QT_BEGIN_NAMESPACE
void
UnixMakefileGenerator::init()
{
- if(init_flag)
- return;
- init_flag = true;
-
if(project->isEmpty("QMAKE_EXTENSION_SHLIB")) {
if(project->isEmpty("QMAKE_CYGWIN_SHLIB")) {
project->values("QMAKE_EXTENSION_SHLIB").append("so");
@@ -57,13 +53,6 @@ UnixMakefileGenerator::init()
}
}
- if (project->isEmpty("QMAKE_PREFIX_SHLIB"))
- // Prevent crash when using the empty variable.
- project->values("QMAKE_PREFIX_SHLIB").append("");
-
- if(!project->isEmpty("QMAKE_FAILED_REQUIREMENTS")) /* no point */
- return;
-
ProStringList &configs = project->values("CONFIG");
if(project->isEmpty("ICON") && !project->isEmpty("RC_FILE"))
project->values("ICON") = project->values("RC_FILE");
@@ -205,13 +194,11 @@ UnixMakefileGenerator::init()
pchBaseName += project->first("QMAKE_ORIG_TARGET").toQString();
// replace place holders
- pchFlags = pchFlags.replace("${QMAKE_PCH_INPUT}",
- project->first("PRECOMPILED_HEADER").toQString());
- pchFlags = pchFlags.replace("${QMAKE_PCH_OUTPUT_BASE}", pchBaseName);
+ pchFlags.replace("${QMAKE_PCH_INPUT}", project->first("PRECOMPILED_HEADER").toQString());
+ pchFlags.replace("${QMAKE_PCH_OUTPUT_BASE}", pchBaseName);
if (project->isActiveConfig("icc_pch_style")) {
// icc style
- pchFlags = pchFlags.replace("${QMAKE_PCH_OUTPUT}",
- pchBaseName + project->first("QMAKE_PCH_OUTPUT_EXT"));
+ pchFlags.replace("${QMAKE_PCH_OUTPUT}", pchBaseName + project->first("QMAKE_PCH_OUTPUT_EXT"));
} else {
// gcc style (including clang_pch_style)
QString headerSuffix;
@@ -235,8 +222,7 @@ UnixMakefileGenerator::init()
}
if(!pchOutputFile.isEmpty()) {
- pchFlags = pchFlags.replace("${QMAKE_PCH_OUTPUT}",
- pchBaseName + pchOutputFile + headerSuffix);
+ pchFlags.replace("${QMAKE_PCH_OUTPUT}", pchBaseName + pchOutputFile + headerSuffix);
}
}
@@ -289,19 +275,19 @@ UnixMakefileGenerator::init()
if(project->isActiveConfig("plugin")) {
if(!project->isEmpty("QMAKE_PLUGIN_BUNDLE_NAME"))
bundle = unescapeFilePath(project->first("QMAKE_PLUGIN_BUNDLE_NAME"));
- if(!project->isEmpty("QMAKE_BUNDLE_EXTENSION") && !bundle.endsWith(project->first("QMAKE_BUNDLE_EXTENSION")))
+ if (project->isEmpty("QMAKE_BUNDLE_EXTENSION"))
+ project->values("QMAKE_BUNDLE_EXTENSION").append(".plugin");
+ if (!bundle.endsWith(project->first("QMAKE_BUNDLE_EXTENSION")))
bundle += project->first("QMAKE_BUNDLE_EXTENSION");
- else if(!bundle.endsWith(".plugin"))
- bundle += ".plugin";
if(project->isEmpty("QMAKE_BUNDLE_LOCATION"))
project->values("QMAKE_BUNDLE_LOCATION").append("Contents/MacOS");
} else {
if(!project->isEmpty("QMAKE_FRAMEWORK_BUNDLE_NAME"))
bundle = unescapeFilePath(project->first("QMAKE_FRAMEWORK_BUNDLE_NAME"));
- if(!project->isEmpty("QMAKE_BUNDLE_EXTENSION") && !bundle.endsWith(project->first("QMAKE_BUNDLE_EXTENSION")))
+ if (project->isEmpty("QMAKE_BUNDLE_EXTENSION"))
+ project->values("QMAKE_BUNDLE_EXTENSION").append(".framework");
+ if (!bundle.endsWith(project->first("QMAKE_BUNDLE_EXTENSION")))
bundle += project->first("QMAKE_BUNDLE_EXTENSION");
- else if(!bundle.endsWith(".framework"))
- bundle += ".framework";
}
}
if(!bundle.isEmpty()) {
@@ -389,10 +375,7 @@ QStringList
&UnixMakefileGenerator::findDependencies(const QString &file)
{
QStringList &ret = MakefileGenerator::findDependencies(file);
- // Note: The QMAKE_IMAGE_COLLECTION file have all images
- // as dependency, so don't add precompiled header then
- if(doPrecompiledHeaders() && !project->isEmpty("PRECOMPILED_HEADER")
- && file != project->first("QMAKE_IMAGE_COLLECTION")) {
+ if (doPrecompiledHeaders() && !project->isEmpty("PRECOMPILED_HEADER")) {
QString header_prefix;
if(!project->isEmpty("PRECOMPILED_DIR"))
header_prefix = project->first("PRECOMPILED_DIR").toQString();
@@ -517,12 +500,12 @@ UnixMakefileGenerator::findLibraries()
if(!extn.isNull())
extens << extn;
else
- extens << project->values("QMAKE_EXTENSION_SHLIB").first() << "a";
+ extens << project->first("QMAKE_EXTENSION_SHLIB") << "a";
for (ProStringList::Iterator extit = extens.begin(); extit != extens.end(); ++extit) {
if(dir.isNull()) {
for(QList<QMakeLocalFileName>::Iterator dep_it = libdirs.begin(); dep_it != libdirs.end(); ++dep_it) {
QString pathToLib = ((*dep_it).local() + Option::dir_sep
- + project->values("QMAKE_PREFIX_SHLIB").first()
+ + project->first("QMAKE_PREFIX_SHLIB")
+ stub + "." + (*extit));
if(exists(pathToLib)) {
(*it) = "-l" + stub;
@@ -531,7 +514,7 @@ UnixMakefileGenerator::findLibraries()
}
}
} else {
- QString lib = dir + project->values("QMAKE_PREFIX_SHLIB").first() + stub + "." + (*extit);
+ QString lib = dir + project->first("QMAKE_PREFIX_SHLIB") + stub + "." + (*extit);
if (exists(lib)) {
(*it) = lib;
found = true;
@@ -541,8 +524,8 @@ UnixMakefileGenerator::findLibraries()
}
if(!found && project->isActiveConfig("compile_libtool")) {
for(int dep_i = 0; dep_i < libdirs.size(); ++dep_i) {
- if(exists(libdirs[dep_i].local() + Option::dir_sep + project->values("QMAKE_PREFIX_SHLIB").first() + stub + Option::libtool_ext)) {
- (*it) = libdirs[dep_i].real() + Option::dir_sep + project->values("QMAKE_PREFIX_SHLIB").first() + stub + Option::libtool_ext;
+ if (exists(libdirs[dep_i].local() + Option::dir_sep + project->first("QMAKE_PREFIX_SHLIB") + stub + Option::libtool_ext)) {
+ (*it) = libdirs[dep_i].real() + Option::dir_sep + project->first("QMAKE_PREFIX_SHLIB") + stub + Option::libtool_ext;
found = true;
break;
}
@@ -589,7 +572,7 @@ UnixMakefileGenerator::processPrlFiles()
for(int dep_i = 0; dep_i < libdirs.size(); ++dep_i) {
const QMakeLocalFileName &lfn = libdirs[dep_i];
if(!project->isActiveConfig("compile_libtool")) { //give them the .libs..
- QString la = lfn.local() + Option::dir_sep + project->values("QMAKE_PREFIX_SHLIB").first() + lib + Option::libtool_ext;
+ QString la = lfn.local() + Option::dir_sep + project->first("QMAKE_PREFIX_SHLIB") + lib + Option::libtool_ext;
if(exists(la) && QFile::exists(lfn.local() + Option::dir_sep + ".libs")) {
QString dot_libs = lfn.real() + Option::dir_sep + ".libs";
l.append("-L" + dot_libs);
@@ -597,7 +580,7 @@ UnixMakefileGenerator::processPrlFiles()
}
}
- QString prl = lfn.local() + Option::dir_sep + project->values("QMAKE_PREFIX_SHLIB").first() + lib + prl_ext;
+ QString prl = lfn.local() + Option::dir_sep + project->first("QMAKE_PREFIX_SHLIB") + lib + prl_ext;
if(processPrlFile(prl)) {
if(prl.startsWith(lfn.local()))
prl.replace(0, lfn.local().length(), lfn.real());