summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@digia.com>2013-10-23 14:02:59 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-24 20:20:59 +0200
commit1cdbe4752bef972db5471e811e9a781749cd0380 (patch)
tree63aea5a8b2c449e42994d0895a8b461042107906
parentc584f3d9a8e9dec113d9036729a6fbee77d4976f (diff)
qmake: Expose qmake arguments as QMAKE_ARGS
Allows project files or mkspecs to call qmake recursively using system() with the right arguments, which we use to fix the ios default_post.prf. Change-Id: I90d69e2b156bb0f0af1279188b11f81c84c24fb8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
-rw-r--r--mkspecs/macx-ios-clang/features/default_post.prf6
-rw-r--r--qmake/generators/makefile.cpp2
-rw-r--r--qmake/library/qmakeevaluator.cpp2
-rw-r--r--qmake/library/qmakeglobals.h1
-rw-r--r--qmake/option.cpp3
-rw-r--r--qmake/option.h1
6 files changed, 10 insertions, 5 deletions
diff --git a/mkspecs/macx-ios-clang/features/default_post.prf b/mkspecs/macx-ios-clang/features/default_post.prf
index 0d38c058c9..5121de1d12 100644
--- a/mkspecs/macx-ios-clang/features/default_post.prf
+++ b/mkspecs/macx-ios-clang/features/default_post.prf
@@ -27,7 +27,11 @@ equals(TEMPLATE, app) {
TARGET_XCODE_PROJECT_DIR = $${TARGET}.xcodeproj
- system("cd $$system_quote($$OUT_PWD) && $${QMAKE_QMAKE} $$system_quote($$_PRO_FILE_) -spec macx-xcode")
+ args =
+ for(arg, QMAKE_ARGS): \
+ args += $$system_quote($$arg)
+
+ system("cd $$system_quote($$OUT_PWD) && $$QMAKE_QMAKE $$args $$system_quote($$_PRO_FILE_) -spec macx-xcode")
# We use xcodebuild to do the actual build, but filter out the verbose
# output that shows all environment variables for each build step.
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
index 9ebaf60843..f567b6c694 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
@@ -2261,7 +2261,7 @@ QString MakefileGenerator::buildArgs()
{
QString ret;
- foreach (const QString &arg, Option::qmake_args)
+ foreach (const QString &arg, Option::globals->qmake_args)
ret += " " + escapeFilePath(arg);
return ret;
}
diff --git a/qmake/library/qmakeevaluator.cpp b/qmake/library/qmakeevaluator.cpp
index c4dca12900..703c13a61a 100644
--- a/qmake/library/qmakeevaluator.cpp
+++ b/qmake/library/qmakeevaluator.cpp
@@ -982,6 +982,8 @@ void QMakeEvaluator::loadDefaults()
vars[ProKey("_DATE_")] << ProString(QDateTime::currentDateTime().toString());
if (!m_option->qmake_abslocation.isEmpty())
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 defined(Q_OS_WIN32)
vars[ProKey("QMAKE_HOST.os")] << ProString("Windows");
diff --git a/qmake/library/qmakeglobals.h b/qmake/library/qmakeglobals.h
index b305b495bc..e9ba95b5a3 100644
--- a/qmake/library/qmakeglobals.h
+++ b/qmake/library/qmakeglobals.h
@@ -117,6 +117,7 @@ public:
QProcessEnvironment environment;
#endif
QString qmake_abslocation;
+ QStringList qmake_args;
QString qmakespec, xqmakespec;
QString user_template, user_template_prefix;
diff --git a/qmake/option.cpp b/qmake/option.cpp
index da52542a7d..86d55835f8 100644
--- a/qmake/option.cpp
+++ b/qmake/option.cpp
@@ -82,7 +82,6 @@ char Option::field_sep;
Option::QMAKE_MODE Option::qmake_mode = Option::QMAKE_GENERATE_NOTHING;
//all modes
-QStringList Option::qmake_args;
int Option::warn_level = WarnLogic | WarnDeprecated;
int Option::debug_level = 0;
QFile Option::output;
@@ -436,7 +435,7 @@ Option::init(int argc, char **argv)
return ret;
//return ret == QMAKE_CMDLINE_SHOW_USAGE ? usage(argv[0]) : false;
}
- Option::qmake_args = args;
+ globals->qmake_args = args;
}
globals->commitCommandLineArguments(cmdstate);
globals->debugLevel = Option::debug_level;
diff --git a/qmake/option.h b/qmake/option.h
index af8e3b7ab8..d0436fe844 100644
--- a/qmake/option.h
+++ b/qmake/option.h
@@ -178,7 +178,6 @@ struct Option
static QMAKE_MODE qmake_mode;
//all modes
- static QStringList qmake_args;
static QFile output;
static QString output_dir;
static int debug_level;