diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2017-08-21 21:08:43 -0700 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2017-08-21 21:08:43 -0700 |
| commit | 6784704638f46d89d01458b1004e588f535958aa (patch) | |
| tree | b8f3fea4487f1936bec0aa25ff33033de5e3915e /toolsrc/src/PackageSpec.cpp | |
| parent | d708484077ef891c5a69e4d9211613dbcfacb91e (diff) | |
| download | vcpkg-6784704638f46d89d01458b1004e588f535958aa.tar.gz vcpkg-6784704638f46d89d01458b1004e588f535958aa.zip | |
[vcpkg] Improve error messages when a feature is requested that doesn't exist.
Diffstat (limited to 'toolsrc/src/PackageSpec.cpp')
| -rw-r--r-- | toolsrc/src/PackageSpec.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/toolsrc/src/PackageSpec.cpp b/toolsrc/src/PackageSpec.cpp index a5d40e998..a43bc5ff5 100644 --- a/toolsrc/src/PackageSpec.cpp +++ b/toolsrc/src/PackageSpec.cpp @@ -13,6 +13,12 @@ namespace vcpkg return (c == '-') || isdigit(c) || (isalpha(c) && islower(c)) || (c == '[') || (c == ']'); } + std::string FeatureSpec::to_string() const + { + if (feature().empty()) return spec().to_string(); + return Strings::format("%s[%s]:%s", name(), feature(), triplet()); + } + std::vector<FeatureSpec> FeatureSpec::from_strings_and_triplet(const std::vector<std::string>& depends, const Triplet& triplet) { @@ -36,8 +42,10 @@ namespace vcpkg } else { - Checks::exit_with_message( - VCPKG_LINE_INFO, "error while parsing feature list: %s: %s", to_string(maybe_spec.error()), depend); + Checks::exit_with_message(VCPKG_LINE_INFO, + "error while parsing feature list: %s: %s", + vcpkg::to_string(maybe_spec.error()), + depend); } } return f_specs; |
