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>
This commit is contained in:
parent
c584f3d9a8
commit
1cdbe4752b
@ -27,7 +27,11 @@ equals(TEMPLATE, app) {
|
|||||||
|
|
||||||
TARGET_XCODE_PROJECT_DIR = $${TARGET}.xcodeproj
|
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
|
# We use xcodebuild to do the actual build, but filter out the verbose
|
||||||
# output that shows all environment variables for each build step.
|
# output that shows all environment variables for each build step.
|
||||||
|
@ -2261,7 +2261,7 @@ QString MakefileGenerator::buildArgs()
|
|||||||
{
|
{
|
||||||
QString ret;
|
QString ret;
|
||||||
|
|
||||||
foreach (const QString &arg, Option::qmake_args)
|
foreach (const QString &arg, Option::globals->qmake_args)
|
||||||
ret += " " + escapeFilePath(arg);
|
ret += " " + escapeFilePath(arg);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -982,6 +982,8 @@ void QMakeEvaluator::loadDefaults()
|
|||||||
vars[ProKey("_DATE_")] << ProString(QDateTime::currentDateTime().toString());
|
vars[ProKey("_DATE_")] << ProString(QDateTime::currentDateTime().toString());
|
||||||
if (!m_option->qmake_abslocation.isEmpty())
|
if (!m_option->qmake_abslocation.isEmpty())
|
||||||
vars[ProKey("QMAKE_QMAKE")] << ProString(m_option->qmake_abslocation);
|
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)
|
#if defined(Q_OS_WIN32)
|
||||||
vars[ProKey("QMAKE_HOST.os")] << ProString("Windows");
|
vars[ProKey("QMAKE_HOST.os")] << ProString("Windows");
|
||||||
|
|
||||||
|
@ -117,6 +117,7 @@ public:
|
|||||||
QProcessEnvironment environment;
|
QProcessEnvironment environment;
|
||||||
#endif
|
#endif
|
||||||
QString qmake_abslocation;
|
QString qmake_abslocation;
|
||||||
|
QStringList qmake_args;
|
||||||
|
|
||||||
QString qmakespec, xqmakespec;
|
QString qmakespec, xqmakespec;
|
||||||
QString user_template, user_template_prefix;
|
QString user_template, user_template_prefix;
|
||||||
|
@ -82,7 +82,6 @@ char Option::field_sep;
|
|||||||
Option::QMAKE_MODE Option::qmake_mode = Option::QMAKE_GENERATE_NOTHING;
|
Option::QMAKE_MODE Option::qmake_mode = Option::QMAKE_GENERATE_NOTHING;
|
||||||
|
|
||||||
//all modes
|
//all modes
|
||||||
QStringList Option::qmake_args;
|
|
||||||
int Option::warn_level = WarnLogic | WarnDeprecated;
|
int Option::warn_level = WarnLogic | WarnDeprecated;
|
||||||
int Option::debug_level = 0;
|
int Option::debug_level = 0;
|
||||||
QFile Option::output;
|
QFile Option::output;
|
||||||
@ -436,7 +435,7 @@ Option::init(int argc, char **argv)
|
|||||||
return ret;
|
return ret;
|
||||||
//return ret == QMAKE_CMDLINE_SHOW_USAGE ? usage(argv[0]) : false;
|
//return ret == QMAKE_CMDLINE_SHOW_USAGE ? usage(argv[0]) : false;
|
||||||
}
|
}
|
||||||
Option::qmake_args = args;
|
globals->qmake_args = args;
|
||||||
}
|
}
|
||||||
globals->commitCommandLineArguments(cmdstate);
|
globals->commitCommandLineArguments(cmdstate);
|
||||||
globals->debugLevel = Option::debug_level;
|
globals->debugLevel = Option::debug_level;
|
||||||
|
@ -178,7 +178,6 @@ struct Option
|
|||||||
static QMAKE_MODE qmake_mode;
|
static QMAKE_MODE qmake_mode;
|
||||||
|
|
||||||
//all modes
|
//all modes
|
||||||
static QStringList qmake_args;
|
|
||||||
static QFile output;
|
static QFile output;
|
||||||
static QString output_dir;
|
static QString output_dir;
|
||||||
static int debug_level;
|
static int debug_level;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user