diff options
Diffstat (limited to 'qmake/generators/unix/unixmake.cpp')
| -rw-r--r-- | qmake/generators/unix/unixmake.cpp | 53 |
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()); |
