aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-03-31 09:26:58 -0700
committerRobert Schumacher <roschuma@microsoft.com>2017-03-31 09:26:58 -0700
commitb3773070fee854ad7a9ea93b8f65b09239947f36 (patch)
tree41cea7c22228ca764d05727f1f09bd44eca7fe67 /toolsrc/src
parent96f30cae00cec0c287b012502ab4e2aacd3d0672 (diff)
downloadvcpkg-b3773070fee854ad7a9ea93b8f65b09239947f36.tar.gz
vcpkg-b3773070fee854ad7a9ea93b8f65b09239947f36.zip
[vcpkg] Rework code structure to satisfy /analyze in VS2017
Diffstat (limited to 'toolsrc/src')
-rw-r--r--toolsrc/src/vcpkg_Dependencies.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/toolsrc/src/vcpkg_Dependencies.cpp b/toolsrc/src/vcpkg_Dependencies.cpp
index dad144cfb..d641cd513 100644
--- a/toolsrc/src/vcpkg_Dependencies.cpp
+++ b/toolsrc/src/vcpkg_Dependencies.cpp
@@ -81,10 +81,15 @@ namespace vcpkg::Dependencies
}
expected<SourceParagraph> maybe_spgh = Paragraphs::try_load_port(paths.port_dir(spec));
- SourceParagraph* spgh = maybe_spgh.get();
- Checks::check_exit(VCPKG_LINE_INFO, spgh != nullptr, "Cannot find package %s", spec.name());
- process_dependencies(filter_dependencies(spgh->depends, spec.target_triplet()));
- was_examined.emplace(spec, install_plan_action{install_plan_type::BUILD_AND_INSTALL, nullopt, std::move(*spgh)});
+ if (auto spgh = maybe_spgh.get())
+ {
+ process_dependencies(filter_dependencies(spgh->depends, spec.target_triplet()));
+ was_examined.emplace(spec, install_plan_action{ install_plan_type::BUILD_AND_INSTALL, nullopt, std::move(*spgh) });
+ }
+ else
+ {
+ Checks::exit_with_message(VCPKG_LINE_INFO, "Cannot find package %s", spec.name());
+ }
}
std::vector<package_spec_with_install_plan> ret;