aboutsummaryrefslogtreecommitdiff
path: root/toolsrc
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2018-12-11 10:15:44 -0800
committerRobert Schumacher <roschuma@microsoft.com>2018-12-12 09:19:37 -0800
commit828cedb755d1ef1616e4e134bf1c6ef1ee2ae389 (patch)
tree5fbd302dc0b30b6129680acbd43eaf2ee9bb532f /toolsrc
parentcf7e2f3906f78dcb89f320a642428b54c00e4e0b (diff)
downloadvcpkg-828cedb755d1ef1616e4e134bf1c6ef1ee2ae389.tar.gz
vcpkg-828cedb755d1ef1616e4e134bf1c6ef1ee2ae389.zip
[vcpkg] Add support for muslc, static crt linkage, and forcing the system binaries for cmake and ninja
Diffstat (limited to 'toolsrc')
-rw-r--r--toolsrc/src/vcpkg.cpp4
-rw-r--r--toolsrc/src/vcpkg/tools.cpp10
2 files changed, 13 insertions, 1 deletions
diff --git a/toolsrc/src/vcpkg.cpp b/toolsrc/src/vcpkg.cpp
index 3589881a7..fc7283599 100644
--- a/toolsrc/src/vcpkg.cpp
+++ b/toolsrc/src/vcpkg.cpp
@@ -171,8 +171,10 @@ static void inner(const VcpkgCmdArguments& args)
default_triplet = Triplet::from_canonical_name("x64-osx");
#elif defined(__FreeBSD__)
default_triplet = Triplet::from_canonical_name("x64-freebsd");
-#else
+#elif defined(__GLIBC__)
default_triplet = Triplet::from_canonical_name("x64-linux");
+#else
+ default_triplet = Triplet::from_canonical_name("x64-linux-musl");
#endif
}
}
diff --git a/toolsrc/src/vcpkg/tools.cpp b/toolsrc/src/vcpkg/tools.cpp
index f4ee2d653..c623d816d 100644
--- a/toolsrc/src/vcpkg/tools.cpp
+++ b/toolsrc/src/vcpkg/tools.cpp
@@ -253,6 +253,11 @@ namespace vcpkg
static PathAndVersion get_path(const VcpkgPaths& paths)
{
+ if (System::get_environment_variable("VCPKG_FORCE_SYSTEM_BINARIES").has_value())
+ {
+ return {"cmake", "0"};
+ }
+
std::vector<fs::path> candidate_paths;
#if defined(_WIN32) || defined(__APPLE__) || defined(__linux__)
static const ToolData TOOL_DATA = parse_tool_data_from_xml(paths, "cmake");
@@ -317,6 +322,11 @@ namespace vcpkg
static PathAndVersion get_path(const VcpkgPaths& paths)
{
+ if (System::get_environment_variable("VCPKG_FORCE_SYSTEM_BINARIES").has_value())
+ {
+ return {"ninja", "0"};
+ }
+
static const ToolData TOOL_DATA = parse_tool_data_from_xml(paths, "ninja");
std::vector<fs::path> candidate_paths;