diff options
| author | Curtis.Bezault <curtbezault@gmail.com> | 2019-07-16 15:34:13 -0700 |
|---|---|---|
| committer | Curtis.Bezault <curtbezault@gmail.com> | 2019-07-16 15:34:13 -0700 |
| commit | 44dcc3d4f3d2bc56cc9f6d0371a141ad0145d537 (patch) | |
| tree | 32599f0c2ada63695259f896bc2fc10b3d1e6435 /toolsrc/src | |
| parent | a22242e837cc1af63ff754545512f5a754a70426 (diff) | |
| download | vcpkg-44dcc3d4f3d2bc56cc9f6d0371a141ad0145d537.tar.gz vcpkg-44dcc3d4f3d2bc56cc9f6d0371a141ad0145d537.zip | |
First pass at port settings
Diffstat (limited to 'toolsrc/src')
| -rw-r--r-- | toolsrc/src/vcpkg/build.cpp | 21 | ||||
| -rw-r--r-- | toolsrc/src/vcpkg/commands.ci.cpp | 9 |
2 files changed, 24 insertions, 6 deletions
diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp index dd2beec9d..646da7398 100644 --- a/toolsrc/src/vcpkg/build.cpp +++ b/toolsrc/src/vcpkg/build.cpp @@ -782,7 +782,8 @@ namespace vcpkg::Build AbiEntry{status_it->get()->package.spec.name(), status_it->get()->package.abi});
}
- const auto pre_build_info = PreBuildInfo::from_triplet_file(paths, triplet);
+ const auto pre_build_info =
+ PreBuildInfo::from_triplet_file(paths, triplet, config.scf.core_paragraph->name);
auto maybe_abi_tag_and_file = compute_abi_tag(paths, config, pre_build_info, dependency_abis);
@@ -997,7 +998,9 @@ namespace vcpkg::Build return inner_create_buildinfo(*pghs.get());
}
- PreBuildInfo PreBuildInfo::from_triplet_file(const VcpkgPaths& paths, const Triplet& triplet)
+ PreBuildInfo PreBuildInfo::from_triplet_file(const VcpkgPaths& paths,
+ const Triplet& triplet,
+ Optional<const std::string&> port)
{
static constexpr CStringView FLAG_GUID = "c35112b6-d1ba-415b-aa5d-81de856ef8eb";
@@ -1005,11 +1008,19 @@ namespace vcpkg::Build const fs::path ports_cmake_script_path = paths.scripts / "get_triplet_environment.cmake";
const fs::path triplet_file_path = paths.get_triplet_file_path(triplet);
+ std::vector<System::CMakeVariable> args{{"CMAKE_TRIPLET_FILE", triplet_file_path}};
+
+ if (port)
+ {
+ args.emplace_back(
+ "CMAKE_PORT_SETTINGS",
+ paths.ports / port.value_or_exit(VCPKG_LINE_INFO) / "port_settings.cmake");
+ }
+
const auto cmd_launch_cmake = System::make_cmake_cmd(cmake_exe_path,
ports_cmake_script_path,
- {
- {"CMAKE_TRIPLET_FILE", triplet_file_path},
- });
+ args);
+
const auto ec_data = System::cmd_execute_and_capture_output(cmd_launch_cmake);
Checks::check_exit(VCPKG_LINE_INFO, ec_data.exit_code == 0, ec_data.output);
diff --git a/toolsrc/src/vcpkg/commands.ci.cpp b/toolsrc/src/vcpkg/commands.ci.cpp index c12c26ff7..493c052cb 100644 --- a/toolsrc/src/vcpkg/commands.ci.cpp +++ b/toolsrc/src/vcpkg/commands.ci.cpp @@ -254,7 +254,14 @@ namespace vcpkg::Commands::CI return {spec.name(), it->second}; }); const auto& pre_build_info = pre_build_info_cache.get_lazy( - triplet, [&]() { return Build::PreBuildInfo::from_triplet_file(paths, triplet); }); + triplet, + [&]() { + return Build::PreBuildInfo::from_triplet_file( + paths, + triplet, + scfl->source_control_file->core_paragraph->name); + } + ); auto maybe_tag_and_file = Build::compute_abi_tag(paths, build_config, pre_build_info, dependency_abis); |
