diff options
Diffstat (limited to 'qmake')
-rw-r--r-- | qmake/Makefile.win32 | 2 | ||||
-rw-r--r-- | qmake/doc/src/qmake-manual.qdoc | 2 | ||||
-rw-r--r-- | qmake/generators/makefile.cpp | 14 | ||||
-rw-r--r-- | qmake/library/qmakeevaluator.cpp | 2 | ||||
-rw-r--r-- | qmake/library/qmakeglobals.cpp | 7 | ||||
-rw-r--r-- | qmake/library/qmakeglobals.h | 1 | ||||
-rw-r--r-- | qmake/option.cpp | 3 | ||||
-rw-r--r-- | qmake/qmake-aux.pro | 11 | ||||
-rw-r--r-- | qmake/qmake-docs.pro | 2 |
9 files changed, 33 insertions, 11 deletions
diff --git a/qmake/Makefile.win32 b/qmake/Makefile.win32 index e61e9503f3..1e8c5129be 100644 --- a/qmake/Makefile.win32 +++ b/qmake/Makefile.win32 @@ -13,7 +13,7 @@ QMKSRC = $(SOURCE_PATH)\qmake !if "$(QMAKESPEC)" == "win32-icc" CXX = icl LINKER = link -CFLAGS_EXTRA = /Zc:forScope +CFLAGS_EXTRA = /Zc:forScope /Qstd=c++11 !else CXX = cl LINKER = link diff --git a/qmake/doc/src/qmake-manual.qdoc b/qmake/doc/src/qmake-manual.qdoc index e59b0ddcbe..89ce3b3504 100644 --- a/qmake/doc/src/qmake-manual.qdoc +++ b/qmake/doc/src/qmake-manual.qdoc @@ -28,7 +28,7 @@ /*! \page qmake-manual.html \title qmake Manual - \startpage {index.html}{Qt Reference Documentation} + \startpage {Qt Reference Documentation} \nextpage Overview \ingroup qttools diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp index a54083c04d..8616e80081 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp @@ -59,6 +59,8 @@ #include <sys/types.h> #include <sys/stat.h> +#include <algorithm> + QT_BEGIN_NAMESPACE using namespace QMakeInternal; @@ -939,12 +941,12 @@ void MakefileGenerator::filterIncludedFiles(const char *var) { ProStringList &inputs = project->values(var); - for (ProStringList::Iterator input = inputs.begin(); input != inputs.end(); ) { - if (QMakeSourceFileInfo::included((*input).toQString()) > 0) - input = inputs.erase(input); - else - ++input; - } + auto isIncluded = [this](const ProString &input) { + return QMakeSourceFileInfo::included(input.toQString()) > 0; + }; + inputs.erase(std::remove_if(inputs.begin(), inputs.end(), + isIncluded), + inputs.end()); } static QString diff --git a/qmake/library/qmakeevaluator.cpp b/qmake/library/qmakeevaluator.cpp index 4c5ce2e097..0c4ba74955 100644 --- a/qmake/library/qmakeevaluator.cpp +++ b/qmake/library/qmakeevaluator.cpp @@ -1000,6 +1000,8 @@ void QMakeEvaluator::loadDefaults() vars[ProKey("QMAKE_QMAKE")] << ProString(m_option->qmake_abslocation); if (!m_option->qmake_args.isEmpty()) vars[ProKey("QMAKE_ARGS")] = ProStringList(m_option->qmake_args); + if (!m_option->qtconf.isEmpty()) + vars[ProKey("QMAKE_QTCONF")] = ProString(m_option->qtconf); vars[ProKey("QMAKE_HOST.cpu_count")] = ProString(QString::number(idealThreadCount())); #if defined(Q_OS_WIN32) vars[ProKey("QMAKE_HOST.os")] << ProString("Windows"); diff --git a/qmake/library/qmakeglobals.cpp b/qmake/library/qmakeglobals.cpp index 8bb5199519..ff59bdb303 100644 --- a/qmake/library/qmakeglobals.cpp +++ b/qmake/library/qmakeglobals.cpp @@ -109,7 +109,7 @@ QString QMakeGlobals::cleanSpec(QMakeCmdLineParserState &state, const QString &s QMakeGlobals::ArgumentReturn QMakeGlobals::addCommandLineArguments( QMakeCmdLineParserState &state, QStringList &args, int *pos) { - enum { ArgNone, ArgConfig, ArgSpec, ArgXSpec, ArgTmpl, ArgTmplPfx, ArgCache } argState = ArgNone; + enum { ArgNone, ArgConfig, ArgSpec, ArgXSpec, ArgTmpl, ArgTmplPfx, ArgCache, ArgQtConf } argState = ArgNone; for (; *pos < args.count(); (*pos)++) { QString arg = args.at(*pos); switch (argState) { @@ -134,6 +134,9 @@ QMakeGlobals::ArgumentReturn QMakeGlobals::addCommandLineArguments( case ArgCache: cachefile = args[*pos] = QDir::cleanPath(QDir(state.pwd).absoluteFilePath(arg)); break; + case ArgQtConf: + qtconf = args[*pos] = QDir::cleanPath(QDir(state.pwd).absoluteFilePath(arg)); + break; default: if (arg.startsWith(QLatin1Char('-'))) { if (arg == QLatin1String("-after")) @@ -144,6 +147,8 @@ QMakeGlobals::ArgumentReturn QMakeGlobals::addCommandLineArguments( do_cache = false; else if (arg == QLatin1String("-cache")) argState = ArgCache; + else if (arg == QLatin1String("-qtconf")) + argState = ArgQtConf; else if (arg == QLatin1String("-platform") || arg == QLatin1String("-spec")) argState = ArgSpec; else if (arg == QLatin1String("-xplatform") || arg == QLatin1String("-xspec")) diff --git a/qmake/library/qmakeglobals.h b/qmake/library/qmakeglobals.h index de46ebbe74..87fc9d4b4e 100644 --- a/qmake/library/qmakeglobals.h +++ b/qmake/library/qmakeglobals.h @@ -112,6 +112,7 @@ public: QString qmake_abslocation; QStringList qmake_args; + QString qtconf; QString qmakespec, xqmakespec; QString user_template, user_template_prefix; QString precmds, postcmds; diff --git a/qmake/option.cpp b/qmake/option.cpp index 46bfa33dd3..3c9b672be9 100644 --- a/qmake/option.cpp +++ b/qmake/option.cpp @@ -172,6 +172,7 @@ bool usage(const char *a0) " -set <prop> <value> Set persistent property\n" " -unset <prop> Unset persistent property\n" " -query <prop> Query persistent property. Show all if <prop> is empty.\n" + " -qtconf file Use file instead of looking for qt.conf\n" " -cache file Use file as cache [makefile mode only]\n" " -spec spec Use spec as QMAKESPEC [makefile mode only]\n" " -nocache Don't use a cache file [makefile mode only]\n" @@ -643,6 +644,8 @@ qmakeAddCacheClear(qmakeCacheClearFunc func, void **data) QString qmake_libraryInfoFile() { + if (!Option::globals->qtconf.isEmpty()) + return Option::globals->qtconf; if (!Option::globals->qmake_abslocation.isEmpty()) return QDir(QFileInfo(Option::globals->qmake_abslocation).absolutePath()).filePath("qt.conf"); return QString(); diff --git a/qmake/qmake-aux.pro b/qmake/qmake-aux.pro new file mode 100644 index 0000000000..33a7fbfd2d --- /dev/null +++ b/qmake/qmake-aux.pro @@ -0,0 +1,11 @@ +option(host_build) +TEMPLATE = aux + +# qmake documentation +QMAKE_DOCS = $$PWD/doc/qmake.qdocconf + +# qmake binary +win32: EXTENSION = .exe +qmake.path = $$[QT_HOST_BINS] +qmake.files = $$OUT_PWD/../bin/qmake$$EXTENSION +INSTALLS += qmake diff --git a/qmake/qmake-docs.pro b/qmake/qmake-docs.pro deleted file mode 100644 index 3123f7c5d8..0000000000 --- a/qmake/qmake-docs.pro +++ /dev/null @@ -1,2 +0,0 @@ -TEMPLATE = aux -QMAKE_DOCS = $$PWD/doc/qmake.qdocconf |