|
|
@@ -1,6 +1,6 @@
|
|
|
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
|
file Copyright.txt or https://cmake.org/licensing for details. */
|
|
|
-#include "cmCMakePresetsFile.h"
|
|
|
+#include "cmCMakePresetsGraph.h"
|
|
|
|
|
|
#include <algorithm>
|
|
|
#include <cstdlib>
|
|
|
@@ -13,7 +13,7 @@
|
|
|
|
|
|
#include "cmsys/RegularExpression.hxx"
|
|
|
|
|
|
-#include "cmCMakePresetsFileInternal.h"
|
|
|
+#include "cmCMakePresetsGraphInternal.h"
|
|
|
#include "cmStringAlgorithms.h"
|
|
|
#include "cmSystemTools.h"
|
|
|
|
|
|
@@ -38,12 +38,12 @@ enum class CycleStatus
|
|
|
Verified,
|
|
|
};
|
|
|
|
|
|
-using ReadFileResult = cmCMakePresetsFile::ReadFileResult;
|
|
|
-using ConfigurePreset = cmCMakePresetsFile::ConfigurePreset;
|
|
|
-using BuildPreset = cmCMakePresetsFile::BuildPreset;
|
|
|
-using TestPreset = cmCMakePresetsFile::TestPreset;
|
|
|
-using ExpandMacroResult = cmCMakePresetsFileInternal::ExpandMacroResult;
|
|
|
-using MacroExpander = cmCMakePresetsFileInternal::MacroExpander;
|
|
|
+using ReadFileResult = cmCMakePresetsGraph::ReadFileResult;
|
|
|
+using ConfigurePreset = cmCMakePresetsGraph::ConfigurePreset;
|
|
|
+using BuildPreset = cmCMakePresetsGraph::BuildPreset;
|
|
|
+using TestPreset = cmCMakePresetsGraph::TestPreset;
|
|
|
+using ExpandMacroResult = cmCMakePresetsGraphInternal::ExpandMacroResult;
|
|
|
+using MacroExpander = cmCMakePresetsGraphInternal::MacroExpander;
|
|
|
|
|
|
void InheritString(std::string& child, const std::string& parent)
|
|
|
{
|
|
|
@@ -77,9 +77,10 @@ void InheritVector(std::vector<T>& child, const std::vector<T>& parent)
|
|
|
*/
|
|
|
template <class T>
|
|
|
ReadFileResult VisitPreset(
|
|
|
- T& preset, std::map<std::string, cmCMakePresetsFile::PresetPair<T>>& presets,
|
|
|
+ T& preset,
|
|
|
+ std::map<std::string, cmCMakePresetsGraph::PresetPair<T>>& presets,
|
|
|
std::map<std::string, CycleStatus> cycleStatus,
|
|
|
- const cmCMakePresetsFile& file)
|
|
|
+ const cmCMakePresetsGraph& graph)
|
|
|
{
|
|
|
switch (cycleStatus[preset.Name]) {
|
|
|
case CycleStatus::InProgress:
|
|
|
@@ -109,7 +110,7 @@ ReadFileResult VisitPreset(
|
|
|
return ReadFileResult::USER_PRESET_INHERITANCE;
|
|
|
}
|
|
|
|
|
|
- auto result = VisitPreset(parentPreset, presets, cycleStatus, file);
|
|
|
+ auto result = VisitPreset(parentPreset, presets, cycleStatus, graph);
|
|
|
if (result != ReadFileResult::READ_OK) {
|
|
|
return result;
|
|
|
}
|
|
|
@@ -129,7 +130,7 @@ ReadFileResult VisitPreset(
|
|
|
preset.ConditionEvaluator.reset();
|
|
|
}
|
|
|
|
|
|
- CHECK_OK(preset.VisitPresetAfterInherit(file.GetVersion(preset)));
|
|
|
+ CHECK_OK(preset.VisitPresetAfterInherit(graph.GetVersion(preset)));
|
|
|
|
|
|
cycleStatus[preset.Name] = CycleStatus::Verified;
|
|
|
return ReadFileResult::READ_OK;
|
|
|
@@ -137,8 +138,8 @@ ReadFileResult VisitPreset(
|
|
|
|
|
|
template <class T>
|
|
|
ReadFileResult ComputePresetInheritance(
|
|
|
- std::map<std::string, cmCMakePresetsFile::PresetPair<T>>& presets,
|
|
|
- const cmCMakePresetsFile& file)
|
|
|
+ std::map<std::string, cmCMakePresetsGraph::PresetPair<T>>& presets,
|
|
|
+ const cmCMakePresetsGraph& graph)
|
|
|
{
|
|
|
std::map<std::string, CycleStatus> cycleStatus;
|
|
|
for (auto const& it : presets) {
|
|
|
@@ -147,7 +148,7 @@ ReadFileResult ComputePresetInheritance(
|
|
|
|
|
|
for (auto& it : presets) {
|
|
|
auto& preset = it.second.Unexpanded;
|
|
|
- auto result = VisitPreset<T>(preset, presets, cycleStatus, file);
|
|
|
+ auto result = VisitPreset<T>(preset, presets, cycleStatus, graph);
|
|
|
if (result != ReadFileResult::READ_OK) {
|
|
|
return result;
|
|
|
}
|
|
|
@@ -189,17 +190,17 @@ ExpandMacroResult ExpandMacro(std::string& out,
|
|
|
const std::vector<MacroExpander>& macroExpanders,
|
|
|
int version);
|
|
|
|
|
|
-bool ExpandMacros(const cmCMakePresetsFile& file,
|
|
|
+bool ExpandMacros(const cmCMakePresetsGraph& graph,
|
|
|
const ConfigurePreset& preset,
|
|
|
cm::optional<ConfigurePreset>& out,
|
|
|
const std::vector<MacroExpander>& macroExpanders)
|
|
|
{
|
|
|
std::string binaryDir = preset.BinaryDir;
|
|
|
- CHECK_EXPAND(out, binaryDir, macroExpanders, file.GetVersion(preset));
|
|
|
+ CHECK_EXPAND(out, binaryDir, macroExpanders, graph.GetVersion(preset));
|
|
|
|
|
|
if (!binaryDir.empty()) {
|
|
|
if (!cmSystemTools::FileIsFullPath(binaryDir)) {
|
|
|
- binaryDir = cmStrCat(file.SourceDir, '/', binaryDir);
|
|
|
+ binaryDir = cmStrCat(graph.SourceDir, '/', binaryDir);
|
|
|
}
|
|
|
out->BinaryDir = cmSystemTools::CollapseFullPath(binaryDir);
|
|
|
cmSystemTools::ConvertToUnixSlashes(out->BinaryDir);
|
|
|
@@ -207,10 +208,10 @@ bool ExpandMacros(const cmCMakePresetsFile& file,
|
|
|
|
|
|
if (!preset.InstallDir.empty()) {
|
|
|
std::string installDir = preset.InstallDir;
|
|
|
- CHECK_EXPAND(out, installDir, macroExpanders, file.GetVersion(preset));
|
|
|
+ CHECK_EXPAND(out, installDir, macroExpanders, graph.GetVersion(preset));
|
|
|
|
|
|
if (!cmSystemTools::FileIsFullPath(installDir)) {
|
|
|
- installDir = cmStrCat(file.SourceDir, '/', installDir);
|
|
|
+ installDir = cmStrCat(graph.SourceDir, '/', installDir);
|
|
|
}
|
|
|
out->InstallDir = cmSystemTools::CollapseFullPath(installDir);
|
|
|
cmSystemTools::ConvertToUnixSlashes(out->InstallDir);
|
|
|
@@ -218,89 +219,89 @@ bool ExpandMacros(const cmCMakePresetsFile& file,
|
|
|
|
|
|
if (!preset.ToolchainFile.empty()) {
|
|
|
std::string toolchain = preset.ToolchainFile;
|
|
|
- CHECK_EXPAND(out, toolchain, macroExpanders, file.GetVersion(preset));
|
|
|
+ CHECK_EXPAND(out, toolchain, macroExpanders, graph.GetVersion(preset));
|
|
|
out->ToolchainFile = toolchain;
|
|
|
}
|
|
|
|
|
|
for (auto& variable : out->CacheVariables) {
|
|
|
if (variable.second) {
|
|
|
CHECK_EXPAND(out, variable.second->Value, macroExpanders,
|
|
|
- file.GetVersion(preset));
|
|
|
+ graph.GetVersion(preset));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
-bool ExpandMacros(const cmCMakePresetsFile& file, const BuildPreset& preset,
|
|
|
+bool ExpandMacros(const cmCMakePresetsGraph& graph, const BuildPreset& preset,
|
|
|
cm::optional<BuildPreset>& out,
|
|
|
const std::vector<MacroExpander>& macroExpanders)
|
|
|
{
|
|
|
for (auto& target : out->Targets) {
|
|
|
- CHECK_EXPAND(out, target, macroExpanders, file.GetVersion(preset));
|
|
|
+ CHECK_EXPAND(out, target, macroExpanders, graph.GetVersion(preset));
|
|
|
}
|
|
|
|
|
|
for (auto& nativeToolOption : out->NativeToolOptions) {
|
|
|
CHECK_EXPAND(out, nativeToolOption, macroExpanders,
|
|
|
- file.GetVersion(preset));
|
|
|
+ graph.GetVersion(preset));
|
|
|
}
|
|
|
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
-bool ExpandMacros(const cmCMakePresetsFile& file, const TestPreset& preset,
|
|
|
+bool ExpandMacros(const cmCMakePresetsGraph& graph, const TestPreset& preset,
|
|
|
cm::optional<TestPreset>& out,
|
|
|
const std::vector<MacroExpander>& macroExpanders)
|
|
|
{
|
|
|
for (auto& overwrite : out->OverwriteConfigurationFile) {
|
|
|
- CHECK_EXPAND(out, overwrite, macroExpanders, file.GetVersion(preset));
|
|
|
+ CHECK_EXPAND(out, overwrite, macroExpanders, graph.GetVersion(preset));
|
|
|
}
|
|
|
|
|
|
if (out->Output) {
|
|
|
CHECK_EXPAND(out, out->Output->OutputLogFile, macroExpanders,
|
|
|
- file.GetVersion(preset));
|
|
|
+ graph.GetVersion(preset));
|
|
|
}
|
|
|
|
|
|
if (out->Filter) {
|
|
|
if (out->Filter->Include) {
|
|
|
CHECK_EXPAND(out, out->Filter->Include->Name, macroExpanders,
|
|
|
- file.GetVersion(preset));
|
|
|
+ graph.GetVersion(preset));
|
|
|
CHECK_EXPAND(out, out->Filter->Include->Label, macroExpanders,
|
|
|
- file.GetVersion(preset));
|
|
|
+ graph.GetVersion(preset));
|
|
|
|
|
|
if (out->Filter->Include->Index) {
|
|
|
CHECK_EXPAND(out, out->Filter->Include->Index->IndexFile,
|
|
|
- macroExpanders, file.GetVersion(preset));
|
|
|
+ macroExpanders, graph.GetVersion(preset));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (out->Filter->Exclude) {
|
|
|
CHECK_EXPAND(out, out->Filter->Exclude->Name, macroExpanders,
|
|
|
- file.GetVersion(preset));
|
|
|
+ graph.GetVersion(preset));
|
|
|
CHECK_EXPAND(out, out->Filter->Exclude->Label, macroExpanders,
|
|
|
- file.GetVersion(preset));
|
|
|
+ graph.GetVersion(preset));
|
|
|
|
|
|
if (out->Filter->Exclude->Fixtures) {
|
|
|
CHECK_EXPAND(out, out->Filter->Exclude->Fixtures->Any, macroExpanders,
|
|
|
- file.GetVersion(preset));
|
|
|
+ graph.GetVersion(preset));
|
|
|
CHECK_EXPAND(out, out->Filter->Exclude->Fixtures->Setup,
|
|
|
- macroExpanders, file.GetVersion(preset));
|
|
|
+ macroExpanders, graph.GetVersion(preset));
|
|
|
CHECK_EXPAND(out, out->Filter->Exclude->Fixtures->Cleanup,
|
|
|
- macroExpanders, file.GetVersion(preset));
|
|
|
+ macroExpanders, graph.GetVersion(preset));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (out->Execution) {
|
|
|
CHECK_EXPAND(out, out->Execution->ResourceSpecFile, macroExpanders,
|
|
|
- file.GetVersion(preset));
|
|
|
+ graph.GetVersion(preset));
|
|
|
}
|
|
|
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
template <class T>
|
|
|
-bool ExpandMacros(const cmCMakePresetsFile& file, const T& preset,
|
|
|
+bool ExpandMacros(const cmCMakePresetsGraph& graph, const T& preset,
|
|
|
cm::optional<T>& out)
|
|
|
{
|
|
|
out.emplace(preset);
|
|
|
@@ -313,20 +314,20 @@ bool ExpandMacros(const cmCMakePresetsFile& file, const T& preset,
|
|
|
std::vector<MacroExpander> macroExpanders;
|
|
|
|
|
|
MacroExpander defaultMacroExpander =
|
|
|
- [&file, &preset](const std::string& macroNamespace,
|
|
|
- const std::string& macroName, std::string& macroOut,
|
|
|
- int version) -> ExpandMacroResult {
|
|
|
+ [&graph, &preset](const std::string& macroNamespace,
|
|
|
+ const std::string& macroName, std::string& macroOut,
|
|
|
+ int version) -> ExpandMacroResult {
|
|
|
if (macroNamespace.empty()) {
|
|
|
if (macroName == "sourceDir") {
|
|
|
- macroOut += file.SourceDir;
|
|
|
+ macroOut += graph.SourceDir;
|
|
|
return ExpandMacroResult::Ok;
|
|
|
}
|
|
|
if (macroName == "sourceParentDir") {
|
|
|
- macroOut += cmSystemTools::GetParentDirectory(file.SourceDir);
|
|
|
+ macroOut += cmSystemTools::GetParentDirectory(graph.SourceDir);
|
|
|
return ExpandMacroResult::Ok;
|
|
|
}
|
|
|
if (macroName == "sourceDirName") {
|
|
|
- macroOut += cmSystemTools::GetFilenameName(file.SourceDir);
|
|
|
+ macroOut += cmSystemTools::GetFilenameName(graph.SourceDir);
|
|
|
return ExpandMacroResult::Ok;
|
|
|
}
|
|
|
if (macroName == "presetName") {
|
|
|
@@ -336,7 +337,7 @@ bool ExpandMacros(const cmCMakePresetsFile& file, const T& preset,
|
|
|
if (macroName == "generator") {
|
|
|
// Generator only makes sense if preset is not hidden.
|
|
|
if (!preset.Hidden) {
|
|
|
- macroOut += file.GetGeneratorForPreset(preset.Name);
|
|
|
+ macroOut += graph.GetGeneratorForPreset(preset.Name);
|
|
|
}
|
|
|
return ExpandMacroResult::Ok;
|
|
|
}
|
|
|
@@ -393,7 +394,7 @@ bool ExpandMacros(const cmCMakePresetsFile& file, const T& preset,
|
|
|
for (auto& v : out->Environment) {
|
|
|
if (v.second) {
|
|
|
switch (VisitEnv(*v.second, envCycles[v.first], macroExpanders,
|
|
|
- file.GetVersion(preset))) {
|
|
|
+ graph.GetVersion(preset))) {
|
|
|
case ExpandMacroResult::Error:
|
|
|
return false;
|
|
|
case ExpandMacroResult::Ignore:
|
|
|
@@ -408,7 +409,7 @@ bool ExpandMacros(const cmCMakePresetsFile& file, const T& preset,
|
|
|
if (preset.ConditionEvaluator) {
|
|
|
cm::optional<bool> result;
|
|
|
if (!preset.ConditionEvaluator->Evaluate(
|
|
|
- macroExpanders, file.GetVersion(preset), result)) {
|
|
|
+ macroExpanders, graph.GetVersion(preset), result)) {
|
|
|
return false;
|
|
|
}
|
|
|
if (!result) {
|
|
|
@@ -418,7 +419,7 @@ bool ExpandMacros(const cmCMakePresetsFile& file, const T& preset,
|
|
|
out->ConditionResult = *result;
|
|
|
}
|
|
|
|
|
|
- return ExpandMacros(file, preset, out, macroExpanders);
|
|
|
+ return ExpandMacros(graph, preset, out, macroExpanders);
|
|
|
}
|
|
|
|
|
|
ExpandMacroResult VisitEnv(std::string& value, CycleStatus& status,
|
|
|
@@ -541,7 +542,7 @@ ExpandMacroResult ExpandMacro(std::string& out,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-bool cmCMakePresetsFileInternal::EqualsCondition::Evaluate(
|
|
|
+bool cmCMakePresetsGraphInternal::EqualsCondition::Evaluate(
|
|
|
const std::vector<MacroExpander>& expanders, int version,
|
|
|
cm::optional<bool>& out) const
|
|
|
{
|
|
|
@@ -555,7 +556,7 @@ bool cmCMakePresetsFileInternal::EqualsCondition::Evaluate(
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
-bool cmCMakePresetsFileInternal::InListCondition::Evaluate(
|
|
|
+bool cmCMakePresetsGraphInternal::InListCondition::Evaluate(
|
|
|
const std::vector<MacroExpander>& expanders, int version,
|
|
|
cm::optional<bool>& out) const
|
|
|
{
|
|
|
@@ -574,7 +575,7 @@ bool cmCMakePresetsFileInternal::InListCondition::Evaluate(
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
-bool cmCMakePresetsFileInternal::MatchesCondition::Evaluate(
|
|
|
+bool cmCMakePresetsGraphInternal::MatchesCondition::Evaluate(
|
|
|
const std::vector<MacroExpander>& expanders, int version,
|
|
|
cm::optional<bool>& out) const
|
|
|
{
|
|
|
@@ -592,7 +593,7 @@ bool cmCMakePresetsFileInternal::MatchesCondition::Evaluate(
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
-bool cmCMakePresetsFileInternal::AnyAllOfCondition::Evaluate(
|
|
|
+bool cmCMakePresetsGraphInternal::AnyAllOfCondition::Evaluate(
|
|
|
const std::vector<MacroExpander>& expanders, int version,
|
|
|
cm::optional<bool>& out) const
|
|
|
{
|
|
|
@@ -618,7 +619,7 @@ bool cmCMakePresetsFileInternal::AnyAllOfCondition::Evaluate(
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
-bool cmCMakePresetsFileInternal::NotCondition::Evaluate(
|
|
|
+bool cmCMakePresetsGraphInternal::NotCondition::Evaluate(
|
|
|
const std::vector<MacroExpander>& expanders, int version,
|
|
|
cm::optional<bool>& out) const
|
|
|
{
|
|
|
@@ -633,9 +634,9 @@ bool cmCMakePresetsFileInternal::NotCondition::Evaluate(
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
-cmCMakePresetsFile::ReadFileResult
|
|
|
-cmCMakePresetsFile::ConfigurePreset::VisitPresetInherit(
|
|
|
- const cmCMakePresetsFile::Preset& parentPreset)
|
|
|
+cmCMakePresetsGraph::ReadFileResult
|
|
|
+cmCMakePresetsGraph::ConfigurePreset::VisitPresetInherit(
|
|
|
+ const cmCMakePresetsGraph::Preset& parentPreset)
|
|
|
{
|
|
|
auto& preset = *this;
|
|
|
const ConfigurePreset& parent =
|
|
|
@@ -667,8 +668,8 @@ cmCMakePresetsFile::ConfigurePreset::VisitPresetInherit(
|
|
|
return ReadFileResult::READ_OK;
|
|
|
}
|
|
|
|
|
|
-cmCMakePresetsFile::ReadFileResult
|
|
|
-cmCMakePresetsFile::ConfigurePreset::VisitPresetBeforeInherit()
|
|
|
+cmCMakePresetsGraph::ReadFileResult
|
|
|
+cmCMakePresetsGraph::ConfigurePreset::VisitPresetBeforeInherit()
|
|
|
{
|
|
|
auto& preset = *this;
|
|
|
if (preset.Environment.count("") != 0) {
|
|
|
@@ -678,8 +679,8 @@ cmCMakePresetsFile::ConfigurePreset::VisitPresetBeforeInherit()
|
|
|
return ReadFileResult::READ_OK;
|
|
|
}
|
|
|
|
|
|
-cmCMakePresetsFile::ReadFileResult
|
|
|
-cmCMakePresetsFile::ConfigurePreset::VisitPresetAfterInherit(int version)
|
|
|
+cmCMakePresetsGraph::ReadFileResult
|
|
|
+cmCMakePresetsGraph::ConfigurePreset::VisitPresetAfterInherit(int version)
|
|
|
{
|
|
|
auto& preset = *this;
|
|
|
if (!preset.Hidden) {
|
|
|
@@ -706,9 +707,9 @@ cmCMakePresetsFile::ConfigurePreset::VisitPresetAfterInherit(int version)
|
|
|
return ReadFileResult::READ_OK;
|
|
|
}
|
|
|
|
|
|
-cmCMakePresetsFile::ReadFileResult
|
|
|
-cmCMakePresetsFile::BuildPreset::VisitPresetInherit(
|
|
|
- const cmCMakePresetsFile::Preset& parentPreset)
|
|
|
+cmCMakePresetsGraph::ReadFileResult
|
|
|
+cmCMakePresetsGraph::BuildPreset::VisitPresetInherit(
|
|
|
+ const cmCMakePresetsGraph::Preset& parentPreset)
|
|
|
{
|
|
|
auto& preset = *this;
|
|
|
const BuildPreset& parent = static_cast<const BuildPreset&>(parentPreset);
|
|
|
@@ -726,8 +727,8 @@ cmCMakePresetsFile::BuildPreset::VisitPresetInherit(
|
|
|
return ReadFileResult::READ_OK;
|
|
|
}
|
|
|
|
|
|
-cmCMakePresetsFile::ReadFileResult
|
|
|
-cmCMakePresetsFile::BuildPreset::VisitPresetAfterInherit(int /* version */)
|
|
|
+cmCMakePresetsGraph::ReadFileResult
|
|
|
+cmCMakePresetsGraph::BuildPreset::VisitPresetAfterInherit(int /* version */)
|
|
|
{
|
|
|
auto& preset = *this;
|
|
|
if (!preset.Hidden && preset.ConfigurePreset.empty()) {
|
|
|
@@ -736,9 +737,9 @@ cmCMakePresetsFile::BuildPreset::VisitPresetAfterInherit(int /* version */)
|
|
|
return ReadFileResult::READ_OK;
|
|
|
}
|
|
|
|
|
|
-cmCMakePresetsFile::ReadFileResult
|
|
|
-cmCMakePresetsFile::TestPreset::VisitPresetInherit(
|
|
|
- const cmCMakePresetsFile::Preset& parentPreset)
|
|
|
+cmCMakePresetsGraph::ReadFileResult
|
|
|
+cmCMakePresetsGraph::TestPreset::VisitPresetInherit(
|
|
|
+ const cmCMakePresetsGraph::Preset& parentPreset)
|
|
|
{
|
|
|
auto& preset = *this;
|
|
|
const TestPreset& parent = static_cast<const TestPreset&>(parentPreset);
|
|
|
@@ -836,8 +837,8 @@ cmCMakePresetsFile::TestPreset::VisitPresetInherit(
|
|
|
return ReadFileResult::READ_OK;
|
|
|
}
|
|
|
|
|
|
-cmCMakePresetsFile::ReadFileResult
|
|
|
-cmCMakePresetsFile::TestPreset::VisitPresetAfterInherit(int /* version */)
|
|
|
+cmCMakePresetsGraph::ReadFileResult
|
|
|
+cmCMakePresetsGraph::TestPreset::VisitPresetAfterInherit(int /* version */)
|
|
|
{
|
|
|
auto& preset = *this;
|
|
|
if (!preset.Hidden && preset.ConfigurePreset.empty()) {
|
|
|
@@ -846,17 +847,17 @@ cmCMakePresetsFile::TestPreset::VisitPresetAfterInherit(int /* version */)
|
|
|
return ReadFileResult::READ_OK;
|
|
|
}
|
|
|
|
|
|
-std::string cmCMakePresetsFile::GetFilename(const std::string& sourceDir)
|
|
|
+std::string cmCMakePresetsGraph::GetFilename(const std::string& sourceDir)
|
|
|
{
|
|
|
return cmStrCat(sourceDir, "/CMakePresets.json");
|
|
|
}
|
|
|
|
|
|
-std::string cmCMakePresetsFile::GetUserFilename(const std::string& sourceDir)
|
|
|
+std::string cmCMakePresetsGraph::GetUserFilename(const std::string& sourceDir)
|
|
|
{
|
|
|
return cmStrCat(sourceDir, "/CMakeUserPresets.json");
|
|
|
}
|
|
|
|
|
|
-cmCMakePresetsFile::ReadFileResult cmCMakePresetsFile::ReadProjectPresets(
|
|
|
+cmCMakePresetsGraph::ReadFileResult cmCMakePresetsGraph::ReadProjectPresets(
|
|
|
const std::string& sourceDir, bool allowNoFiles)
|
|
|
{
|
|
|
this->SourceDir = sourceDir;
|
|
|
@@ -870,8 +871,8 @@ cmCMakePresetsFile::ReadFileResult cmCMakePresetsFile::ReadProjectPresets(
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
-cmCMakePresetsFile::ReadFileResult
|
|
|
-cmCMakePresetsFile::ReadProjectPresetsInternal(bool allowNoFiles)
|
|
|
+cmCMakePresetsGraph::ReadFileResult
|
|
|
+cmCMakePresetsGraph::ReadProjectPresetsInternal(bool allowNoFiles)
|
|
|
{
|
|
|
bool haveOneFile = false;
|
|
|
|
|
|
@@ -951,7 +952,7 @@ cmCMakePresetsFile::ReadProjectPresetsInternal(bool allowNoFiles)
|
|
|
return ReadFileResult::READ_OK;
|
|
|
}
|
|
|
|
|
|
-const char* cmCMakePresetsFile::ResultToString(ReadFileResult result)
|
|
|
+const char* cmCMakePresetsGraph::ResultToString(ReadFileResult result)
|
|
|
{
|
|
|
switch (result) {
|
|
|
case ReadFileResult::READ_OK:
|
|
|
@@ -1006,7 +1007,7 @@ const char* cmCMakePresetsFile::ResultToString(ReadFileResult result)
|
|
|
return "Unknown error";
|
|
|
}
|
|
|
|
|
|
-void cmCMakePresetsFile::ClearPresets()
|
|
|
+void cmCMakePresetsGraph::ClearPresets()
|
|
|
{
|
|
|
this->ConfigurePresets.clear();
|
|
|
this->BuildPresets.clear();
|
|
|
@@ -1017,8 +1018,8 @@ void cmCMakePresetsFile::ClearPresets()
|
|
|
this->TestPresetOrder.clear();
|
|
|
}
|
|
|
|
|
|
-void cmCMakePresetsFile::PrintPresets(
|
|
|
- const std::vector<const cmCMakePresetsFile::Preset*>& presets)
|
|
|
+void cmCMakePresetsGraph::PrintPresets(
|
|
|
+ const std::vector<const cmCMakePresetsGraph::Preset*>& presets)
|
|
|
{
|
|
|
if (presets.empty()) {
|
|
|
return;
|
|
|
@@ -1026,8 +1027,8 @@ void cmCMakePresetsFile::PrintPresets(
|
|
|
|
|
|
auto longestPresetName =
|
|
|
std::max_element(presets.begin(), presets.end(),
|
|
|
- [](const cmCMakePresetsFile::Preset* a,
|
|
|
- const cmCMakePresetsFile::Preset* b) {
|
|
|
+ [](const cmCMakePresetsGraph::Preset* a,
|
|
|
+ const cmCMakePresetsGraph::Preset* b) {
|
|
|
return a->Name.length() < b->Name.length();
|
|
|
});
|
|
|
auto longestLength = (*longestPresetName)->Name.length();
|
|
|
@@ -1045,67 +1046,67 @@ void cmCMakePresetsFile::PrintPresets(
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void cmCMakePresetsFile::PrintConfigurePresetList() const
|
|
|
+void cmCMakePresetsGraph::PrintConfigurePresetList() const
|
|
|
{
|
|
|
PrintConfigurePresetList([](const ConfigurePreset&) { return true; });
|
|
|
}
|
|
|
|
|
|
-void cmCMakePresetsFile::PrintConfigurePresetList(
|
|
|
+void cmCMakePresetsGraph::PrintConfigurePresetList(
|
|
|
const std::function<bool(const ConfigurePreset&)>& filter) const
|
|
|
{
|
|
|
- std::vector<const cmCMakePresetsFile::Preset*> presets;
|
|
|
+ std::vector<const cmCMakePresetsGraph::Preset*> presets;
|
|
|
for (auto const& p : this->ConfigurePresetOrder) {
|
|
|
auto const& preset = this->ConfigurePresets.at(p);
|
|
|
if (!preset.Unexpanded.Hidden && preset.Expanded &&
|
|
|
preset.Expanded->ConditionResult && filter(preset.Unexpanded)) {
|
|
|
presets.push_back(
|
|
|
- static_cast<const cmCMakePresetsFile::Preset*>(&preset.Unexpanded));
|
|
|
+ static_cast<const cmCMakePresetsGraph::Preset*>(&preset.Unexpanded));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (!presets.empty()) {
|
|
|
std::cout << "Available configure presets:\n\n";
|
|
|
- cmCMakePresetsFile::PrintPresets(presets);
|
|
|
+ cmCMakePresetsGraph::PrintPresets(presets);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void cmCMakePresetsFile::PrintBuildPresetList() const
|
|
|
+void cmCMakePresetsGraph::PrintBuildPresetList() const
|
|
|
{
|
|
|
- std::vector<const cmCMakePresetsFile::Preset*> presets;
|
|
|
+ std::vector<const cmCMakePresetsGraph::Preset*> presets;
|
|
|
for (auto const& p : this->BuildPresetOrder) {
|
|
|
auto const& preset = this->BuildPresets.at(p);
|
|
|
if (!preset.Unexpanded.Hidden && preset.Expanded &&
|
|
|
preset.Expanded->ConditionResult) {
|
|
|
presets.push_back(
|
|
|
- static_cast<const cmCMakePresetsFile::Preset*>(&preset.Unexpanded));
|
|
|
+ static_cast<const cmCMakePresetsGraph::Preset*>(&preset.Unexpanded));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (!presets.empty()) {
|
|
|
std::cout << "Available build presets:\n\n";
|
|
|
- cmCMakePresetsFile::PrintPresets(presets);
|
|
|
+ cmCMakePresetsGraph::PrintPresets(presets);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void cmCMakePresetsFile::PrintTestPresetList() const
|
|
|
+void cmCMakePresetsGraph::PrintTestPresetList() const
|
|
|
{
|
|
|
- std::vector<const cmCMakePresetsFile::Preset*> presets;
|
|
|
+ std::vector<const cmCMakePresetsGraph::Preset*> presets;
|
|
|
for (auto const& p : this->TestPresetOrder) {
|
|
|
auto const& preset = this->TestPresets.at(p);
|
|
|
if (!preset.Unexpanded.Hidden && preset.Expanded &&
|
|
|
preset.Expanded->ConditionResult) {
|
|
|
presets.push_back(
|
|
|
- static_cast<const cmCMakePresetsFile::Preset*>(&preset.Unexpanded));
|
|
|
+ static_cast<const cmCMakePresetsGraph::Preset*>(&preset.Unexpanded));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (!presets.empty()) {
|
|
|
std::cout << "Available test presets:\n\n";
|
|
|
- cmCMakePresetsFile::PrintPresets(presets);
|
|
|
+ cmCMakePresetsGraph::PrintPresets(presets);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-void cmCMakePresetsFile::PrintAllPresets() const
|
|
|
+void cmCMakePresetsGraph::PrintAllPresets() const
|
|
|
{
|
|
|
this->PrintConfigurePresetList();
|
|
|
std::cout << std::endl;
|