summaryrefslogtreecommitdiffstats
path: root/qmake
diff options
context:
space:
mode:
Diffstat (limited to 'qmake')
-rw-r--r--qmake/Makefile.win322
-rw-r--r--qmake/doc/src/qmake-manual.qdoc2
-rw-r--r--qmake/generators/makefile.cpp14
-rw-r--r--qmake/library/qmakeevaluator.cpp2
-rw-r--r--qmake/library/qmakeglobals.cpp7
-rw-r--r--qmake/library/qmakeglobals.h1
-rw-r--r--qmake/option.cpp3
-rw-r--r--qmake/qmake-aux.pro11
-rw-r--r--qmake/qmake-docs.pro2
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