CMake: Make configitem optionally use a macroexpander instead of a kit

Change-Id: I218979aff626630abd3b7113596ac5c731309432
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Tobias Hunger
2016-10-17 14:25:19 +02:00
parent a2871e5513
commit 1f1ee1ec2b
2 changed files with 8 additions and 1 deletions

View File

@@ -136,7 +136,12 @@ QStringList CMakeConfigItem::cmakeSplitValue(const QString &in, bool keepEmpty)
QString CMakeConfigItem::expandedValue(const ProjectExplorer::Kit *k) const QString CMakeConfigItem::expandedValue(const ProjectExplorer::Kit *k) const
{ {
return k->macroExpander()->expand(QString::fromUtf8(value)); return expandedValue(k->macroExpander());
}
QString CMakeConfigItem::expandedValue(const Utils::MacroExpander *expander) const
{
return expander->expand(QString::fromUtf8(value));
} }
std::function<bool (const CMakeConfigItem &a, const CMakeConfigItem &b)> CMakeConfigItem::sortOperator() std::function<bool (const CMakeConfigItem &a, const CMakeConfigItem &b)> CMakeConfigItem::sortOperator()

View File

@@ -31,6 +31,7 @@
#include <functional> #include <functional>
namespace ProjectExplorer { class Kit; } namespace ProjectExplorer { class Kit; }
namespace Utils { class MacroExpander; }
namespace CMakeProjectManager { namespace CMakeProjectManager {
@@ -49,6 +50,7 @@ public:
bool isNull() const { return key.isEmpty(); } bool isNull() const { return key.isEmpty(); }
QString expandedValue(const ProjectExplorer::Kit *k) const; QString expandedValue(const ProjectExplorer::Kit *k) const;
QString expandedValue(const Utils::MacroExpander *expander) const;
static std::function<bool(const CMakeConfigItem &a, const CMakeConfigItem &b)> sortOperator(); static std::function<bool(const CMakeConfigItem &a, const CMakeConfigItem &b)> sortOperator();
static CMakeConfigItem fromString(const QString &s); static CMakeConfigItem fromString(const QString &s);