aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/BinaryParagraph.cpp
diff options
context:
space:
mode:
authorDaniel Shaw <t-dansha@microsoft.com>2017-07-12 17:40:41 -0700
committerDaniel Shaw <t-dansha@microsoft.com>2017-07-14 13:21:25 -0700
commit336e25218a73f9b54120e3c35b3d28e6426deeb1 (patch)
tree72e2f0fce405def2dcc47b686d4ab7baa5b9afcc /toolsrc/src/BinaryParagraph.cpp
parent7944f9f7779ebbc0923efd27cff268ac23b1c312 (diff)
downloadvcpkg-336e25218a73f9b54120e3c35b3d28e6426deeb1.tar.gz
vcpkg-336e25218a73f9b54120e3c35b3d28e6426deeb1.zip
feature packages graph traversal
Diffstat (limited to 'toolsrc/src/BinaryParagraph.cpp')
-rw-r--r--toolsrc/src/BinaryParagraph.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/toolsrc/src/BinaryParagraph.cpp b/toolsrc/src/BinaryParagraph.cpp
index af76c6b29..e126054a8 100644
--- a/toolsrc/src/BinaryParagraph.cpp
+++ b/toolsrc/src/BinaryParagraph.cpp
@@ -16,9 +16,11 @@ namespace vcpkg
namespace Fields
{
+ static const std::string FEATURE = "Feature";
static const std::string DESCRIPTION = "Description";
static const std::string MAINTAINER = "Maintainer";
static const std::string DEPENDS = "Depends";
+ static const std::string DEFAULTFEATURES = "Default-Features";
}
BinaryParagraph::BinaryParagraph() = default;
@@ -38,7 +40,10 @@ namespace vcpkg
.value_or_exit(VCPKG_LINE_INFO);
}
- parser.required_field(Fields::VERSION, this->version);
+ // one or the other
+ this->version = parser.optional_field(Fields::VERSION);
+ this->feature = parser.optional_field(Fields::FEATURE);
+
this->description = parser.optional_field(Fields::DESCRIPTION);
this->maintainer = parser.optional_field(Fields::MAINTAINER);
@@ -46,6 +51,10 @@ namespace vcpkg
parser.required_field(Fields::MULTI_ARCH, multi_arch);
this->depends = parse_comma_list(parser.optional_field(Fields::DEPENDS));
+ if (this->feature.empty())
+ {
+ this->default_features = parse_comma_list(parser.optional_field(Fields::DEFAULTFEATURES));
+ }
if (auto err = parser.error_info(this->spec.name()))
{