diff options
| author | Alexander Karatarakis <alkarata@microsoft.com> | 2017-02-10 17:00:46 -0800 |
|---|---|---|
| committer | Alexander Karatarakis <alkarata@microsoft.com> | 2017-02-15 18:06:06 -0800 |
| commit | 2b9035063234f04fb68c3b4fefe8d3da7a5175a6 (patch) | |
| tree | 13140f379847760858f124096c429a5a32600ef8 /toolsrc/src/commands_build_external.cpp | |
| parent | 1ecf03e2b08c0ec3be62da4989730108c7c8de23 (diff) | |
| download | vcpkg-2b9035063234f04fb68c3b4fefe8d3da7a5175a6.tar.gz vcpkg-2b9035063234f04fb68c3b4fefe8d3da7a5175a6.zip | |
Separate dependency check from build_package()
Diffstat (limited to 'toolsrc/src/commands_build_external.cpp')
| -rw-r--r-- | toolsrc/src/commands_build_external.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/toolsrc/src/commands_build_external.cpp b/toolsrc/src/commands_build_external.cpp index 8e9bf50fd..319e3c3d8 100644 --- a/toolsrc/src/commands_build_external.cpp +++ b/toolsrc/src/commands_build_external.cpp @@ -12,6 +12,8 @@ namespace vcpkg::Commands::BuildExternal static const std::string example = Commands::Help::create_example_string(R"(build_external zlib2 C:\path\to\dir\with\controlfile\)"); args.check_exact_arg_count(2, example); + StatusParagraphs status_db = database_load_check(paths); + expected<package_spec> maybe_current_spec = package_spec::from_string(args.command_arguments[0], default_target_triplet); if (auto spec = maybe_current_spec.get()) { @@ -21,8 +23,10 @@ namespace vcpkg::Commands::BuildExternal const expected<SourceParagraph> maybe_spgh = try_load_port(port_dir); if (auto spgh = maybe_spgh.get()) { - const Build::BuildResult result = Commands::Build::build_package(*spgh, *spec, paths, port_dir); - if (result !=Build::BuildResult::SUCCESS) + const Build::DependencyStatus dependency_status = Build::check_dependencies(*spgh, *spec, status_db); + Checks::check_exit(dependency_status == Build::DependencyStatus::ALL_DEPENDENCIES_INSTALLED); + const Build::BuildResult result = Commands::Build::build_package(*spgh, *spec, paths, port_dir, dependency_status); + if (result != Build::BuildResult::SUCCESS) { exit(EXIT_FAILURE); } |
