aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/vcpkg_Build.cpp
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-05-02 20:34:11 -0700
committerRobert Schumacher <roschuma@microsoft.com>2017-05-03 04:12:28 -0700
commit4633c5e0ea8560ac17c14aa56e50bf3693017f51 (patch)
tree543c1994c5b9b244bb3a9517fd4dfbde389afffc /toolsrc/src/vcpkg_Build.cpp
parentf10861fa7af9bd675cb4e80ea31d85d7e5c6d906 (diff)
downloadvcpkg-4633c5e0ea8560ac17c14aa56e50bf3693017f51.tar.gz
vcpkg-4633c5e0ea8560ac17c14aa56e50bf3693017f51.zip
[vcpkg] Add support for installing from HEAD
Diffstat (limited to 'toolsrc/src/vcpkg_Build.cpp')
-rw-r--r--toolsrc/src/vcpkg_Build.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/toolsrc/src/vcpkg_Build.cpp b/toolsrc/src/vcpkg_Build.cpp
index 2573feb68..c29f61468 100644
--- a/toolsrc/src/vcpkg_Build.cpp
+++ b/toolsrc/src/vcpkg_Build.cpp
@@ -43,7 +43,11 @@ namespace vcpkg::Build
const Triplet& triplet,
const BuildInfo& build_info)
{
- const BinaryParagraph bpgh = BinaryParagraph(source_paragraph, triplet);
+ BinaryParagraph bpgh = BinaryParagraph(source_paragraph, triplet);
+ if (auto p_ver = build_info.version.get())
+ {
+ bpgh.version = *p_ver;
+ }
const fs::path binary_control_file = paths.packages / bpgh.dir() / "CONTROL";
paths.get_filesystem().write_contents(binary_control_file, Strings::serialize(bpgh));
}
@@ -88,6 +92,8 @@ namespace vcpkg::Build
{L"CURRENT_PORT_DIR", config.port_dir / "/."},
{L"TARGET_TRIPLET", triplet.canonical_name()},
{L"VCPKG_PLATFORM_TOOLSET", toolset.version},
+ {L"VCPKG_USE_HEAD_VERSION", config.use_head_version ? L"1" : L"0"},
+ {L"_VCPKG_NO_DOWNLOADS", config.no_downloads ? L"1" : L"0"},
{L"GIT", git_exe_path}});
const std::wstring command = Strings::wformat(LR"(%s && %s)", cmd_set_environment, cmd_launch_cmake);
@@ -177,6 +183,13 @@ namespace vcpkg::Build
"Invalid library linkage type: [%s]",
library_linkage_as_string);
+ auto it_version = pgh.find("Version");
+ if (it_version != pgh.end())
+ {
+ build_info.version = it_version->second;
+ pgh.erase(it_version);
+ }
+
// The remaining entries are policies
for (const std::unordered_map<std::string, std::string>::value_type& p : pgh)
{