From d78fd3933b3a3da0f29f8739e350a6c9449906a2 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 18 Jun 2012 18:13:33 +0200 Subject: [PATCH] add groundwork for supporting -t and -tp qmake options Change-Id: Ibb1aafdaeaf8ee53bb11436d2f2ca8ccbf0ffc3c Reviewed-by: Daniel Teske Reviewed-by: Oswald Buddenhagen --- src/shared/proparser/qmakeevaluator.cpp | 18 ++++++++++++++++-- src/shared/proparser/qmakeglobals.h | 1 + 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/shared/proparser/qmakeevaluator.cpp b/src/shared/proparser/qmakeevaluator.cpp index 40f48ae1a8f..a6355c6a7ac 100644 --- a/src/shared/proparser/qmakeevaluator.cpp +++ b/src/shared/proparser/qmakeevaluator.cpp @@ -816,8 +816,22 @@ void QMakeEvaluator::visitProVariable( void QMakeEvaluator::setTemplate() { ProStringList &values = valuesRef(statics.strTEMPLATE); - if (values.isEmpty()) - values.append(ProString("app", NoHash)); + if (!m_option->user_template.isEmpty()) { + // Don't allow override + values = ProStringList(ProString(m_option->user_template, NoHash)); + } else { + if (values.isEmpty()) + values.append(ProString("app", NoHash)); + else + values.erase(values.begin() + 1, values.end()); + } + if (!m_option->user_template_prefix.isEmpty()) { + QString val = values.first().toQString(m_tmp1); + if (!val.startsWith(m_option->user_template_prefix)) { + val.prepend(m_option->user_template_prefix); + values = ProStringList(ProString(val, NoHash)); + } + } } void QMakeEvaluator::loadDefaults() diff --git a/src/shared/proparser/qmakeglobals.h b/src/shared/proparser/qmakeglobals.h index 64750cb2653..59394af8f56 100644 --- a/src/shared/proparser/qmakeglobals.h +++ b/src/shared/proparser/qmakeglobals.h @@ -66,6 +66,7 @@ public: QProcessEnvironment environment; #endif QString sysroot; + QString user_template, user_template_prefix; // -nocache, -cache, -spec, QMAKESPEC // -set persistent value