forked from qt-creator/qt-creator
CMake: Turn CMakeConfigItem into a CMake argument
Add a method to turn a CMakeConfigItem into a string suitable to be passed to CMake. Change-Id: Ia7834f1c2fad387dd6e6eaa3863f93385d48ca71 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -72,31 +72,7 @@ namespace Internal {
|
|||||||
|
|
||||||
static QStringList toArguments(const CMakeConfig &config, const Kit *k) {
|
static QStringList toArguments(const CMakeConfig &config, const Kit *k) {
|
||||||
return Utils::transform(config, [k](const CMakeConfigItem &i) -> QString {
|
return Utils::transform(config, [k](const CMakeConfigItem &i) -> QString {
|
||||||
QString a = QString::fromLatin1("-D");
|
return i.toArgument(k->macroExpander());
|
||||||
a.append(QString::fromUtf8(i.key));
|
|
||||||
switch (i.type) {
|
|
||||||
case CMakeConfigItem::FILEPATH:
|
|
||||||
a.append(QLatin1String(":FILEPATH="));
|
|
||||||
break;
|
|
||||||
case CMakeConfigItem::PATH:
|
|
||||||
a.append(QLatin1String(":PATH="));
|
|
||||||
break;
|
|
||||||
case CMakeConfigItem::BOOL:
|
|
||||||
a.append(QLatin1String(":BOOL="));
|
|
||||||
break;
|
|
||||||
case CMakeConfigItem::STRING:
|
|
||||||
a.append(QLatin1String(":STRING="));
|
|
||||||
break;
|
|
||||||
case CMakeConfigItem::INTERNAL:
|
|
||||||
a.append(QLatin1String(":INTERNAL="));
|
|
||||||
break;
|
|
||||||
case CMakeConfigItem::STATIC:
|
|
||||||
a.append(QLatin1String(":STATIC="));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
a.append(i.expandedValue(k));
|
|
||||||
|
|
||||||
return a;
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -245,6 +245,11 @@ QString CMakeConfigItem::toString(const Utils::MacroExpander *expander) const
|
|||||||
return QString::fromUtf8(key) + QLatin1Char(':') + typeStr + QLatin1Char('=') + expandedValue;
|
return QString::fromUtf8(key) + QLatin1Char(':') + typeStr + QLatin1Char('=') + expandedValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString CMakeConfigItem::toArgument(const Utils::MacroExpander *expander) const
|
||||||
|
{
|
||||||
|
return "-D" + toString(expander);
|
||||||
|
}
|
||||||
|
|
||||||
bool CMakeConfigItem::operator==(const CMakeConfigItem &o) const
|
bool CMakeConfigItem::operator==(const CMakeConfigItem &o) const
|
||||||
{
|
{
|
||||||
// type, isAdvanced and documentation do not matter for a match!
|
// type, isAdvanced and documentation do not matter for a match!
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ public:
|
|||||||
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);
|
||||||
QString toString(const Utils::MacroExpander *expander = nullptr) const;
|
QString toString(const Utils::MacroExpander *expander = nullptr) const;
|
||||||
|
QString toArgument(const Utils::MacroExpander *expander = nullptr) const;
|
||||||
|
|
||||||
bool operator==(const CMakeConfigItem &o) const;
|
bool operator==(const CMakeConfigItem &o) const;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user