From baf74ae0705ed5d3ca1055c0187e5e6632d3516a Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Tue, 20 Sep 2016 17:11:03 +0300 Subject: [PATCH] QbsPM: Support variables in build configuration properties Change-Id: Id438c33d14e0e7b27ea81fa39395c2d68d8a7736 Reviewed-by: Jake Petroules --- src/plugins/qbsprojectmanager/qbsbuildstep.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp index 7e25dfc92e5..54339d3697b 100644 --- a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp +++ b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp @@ -34,11 +34,13 @@ #include "ui_qbsbuildstepconfigwidget.h" #include +#include #include #include #include #include #include +#include #include #include #include @@ -473,6 +475,8 @@ QbsBuildStepConfigWidget::QbsBuildStepConfigWidget(QbsBuildStep *step) : m_ui = new Ui::QbsBuildStepConfigWidget; m_ui->setupUi(this); + auto chooser = new Core::VariableChooser(this); + chooser->addSupportedWidget(m_ui->propertyEdit); m_ui->propertyEdit->setValidationFunction([this](Utils::FancyLineEdit *edit, QString *errorMessage) { return validateProperties(edit, errorMessage); @@ -692,7 +696,9 @@ bool QbsBuildStepConfigWidget::validateProperties(Utils::FancyLineEdit *edit, QS } QList > properties; - foreach (const QString &arg, argList) { + Utils::MacroExpander *expander = Utils::globalMacroExpander(); + foreach (const QString &rawArg, argList) { + const QString arg = expander->expand(rawArg); int pos = arg.indexOf(QLatin1Char(':')); QString key; QString value;