aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2018-02-26 14:43:47 -0800
committerRobert Schumacher <roschuma@microsoft.com>2018-02-26 14:43:47 -0800
commitc267f32bd976ae599fa57d63031352b1c84a9c53 (patch)
tree5fc51b6105a57400aa3b4fc1719b4330b63890f2
parent65e95f6348e3a23a2afd1c1d25c9501dc826b183 (diff)
downloadvcpkg-c267f32bd976ae599fa57d63031352b1c84a9c53.tar.gz
vcpkg-c267f32bd976ae599fa57d63031352b1c84a9c53.zip
[vcpkg] Fix feature interdependency during install
-rw-r--r--toolsrc/src/vcpkg/build.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp
index ff7554b78..0e0928a1b 100644
--- a/toolsrc/src/vcpkg/build.cpp
+++ b/toolsrc/src/vcpkg/build.cpp
@@ -327,8 +327,9 @@ namespace vcpkg::Build
std::vector<FeatureSpec> required_fspecs = compute_required_feature_specs(config, status_db);
// Find all features that aren't installed. This destroys required_fspecs.
- Util::unstable_keep_if(required_fspecs,
- [&](FeatureSpec const& fspec) { return !status_db.is_installed(fspec); });
+ Util::unstable_keep_if(required_fspecs, [&](FeatureSpec const& fspec) {
+ return !status_db.is_installed(fspec) && fspec.name() != spec.name();
+ });
if (!required_fspecs.empty())
{