diff --git a/src/plugins/cmakeprojectmanager/builddirmanager.cpp b/src/plugins/cmakeprojectmanager/builddirmanager.cpp index 88c6077c455..a15e2204593 100644 --- a/src/plugins/cmakeprojectmanager/builddirmanager.cpp +++ b/src/plugins/cmakeprojectmanager/builddirmanager.cpp @@ -81,7 +81,7 @@ static QStringList toArguments(const CMakeConfig &config, const ProjectExplorer: a.append(QLatin1String(":INTERNAL=")); break; } - a.append(QString::fromUtf8(k->macroExpander()->expand(i.value))); + a.append(i.expandedValue(k)); return a; }); diff --git a/src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp b/src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp index 7f4af54338e..65d55bc2171 100644 --- a/src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp @@ -25,6 +25,9 @@ #include "cmakeconfigitem.h" +#include + +#include #include #include @@ -60,6 +63,11 @@ QByteArray CMakeConfigItem::valueOf(const QByteArray &key, const QListmacroExpander()->expand(QString::fromUtf8(value)); +} + std::function CMakeConfigItem::sortOperator() { return [](const CMakeConfigItem &a, const CMakeConfigItem &b) { return a.key < b.key; }; diff --git a/src/plugins/cmakeprojectmanager/cmakeconfigitem.h b/src/plugins/cmakeprojectmanager/cmakeconfigitem.h index 2562b924797..86cfc17971d 100644 --- a/src/plugins/cmakeprojectmanager/cmakeconfigitem.h +++ b/src/plugins/cmakeprojectmanager/cmakeconfigitem.h @@ -30,6 +30,8 @@ #include +namespace ProjectExplorer { class Kit; } + namespace CMakeProjectManager { class CMakeConfigItem { @@ -44,6 +46,8 @@ public: bool isNull() const { return key.isEmpty(); } + QString expandedValue(const ProjectExplorer::Kit *k) const; + static std::function sortOperator(); static CMakeConfigItem fromString(const QString &s); QString toString() const;