aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src
diff options
context:
space:
mode:
authorBarath Kannan <barathsotd@gmail.com>2018-01-17 19:00:43 +1100
committerBarath Kannan <barathsotd@gmail.com>2018-01-17 19:00:43 +1100
commitc30363d07b3f64b5f38531442ea92d9c1cf81d13 (patch)
tree8a169a2a0aadf40dad50e73d226c3eca1e949327 /toolsrc/src
parent47189e90d59459be69d4f6a0b039849913031c8e (diff)
parent28c5c6ae4601c323cbd57a13da03b9047dc282ad (diff)
downloadvcpkg-c30363d07b3f64b5f38531442ea92d9c1cf81d13.tar.gz
vcpkg-c30363d07b3f64b5f38531442ea92d9c1cf81d13.zip
Merge branch 'master' into qt5_modular
Diffstat (limited to 'toolsrc/src')
-rw-r--r--toolsrc/src/vcpkg/base/system.cpp2
-rw-r--r--toolsrc/src/vcpkg/commands.cpp7
-rw-r--r--toolsrc/src/vcpkg/commands.hash.cpp16
-rw-r--r--toolsrc/src/vcpkg/triplet.cpp3
-rw-r--r--toolsrc/src/vcpkg/vcpkgpaths.cpp10
5 files changed, 22 insertions, 16 deletions
diff --git a/toolsrc/src/vcpkg/base/system.cpp b/toolsrc/src/vcpkg/base/system.cpp
index 625ee6ce0..84721bf6e 100644
--- a/toolsrc/src/vcpkg/base/system.cpp
+++ b/toolsrc/src/vcpkg/base/system.cpp
@@ -220,7 +220,7 @@ namespace vcpkg::System
nullptr,
nullptr,
FALSE,
- BELOW_NORMAL_PRIORITY_CLASS | CREATE_UNICODE_ENVIRONMENT,
+ IDLE_PRIORITY_CLASS | CREATE_UNICODE_ENVIRONMENT,
env_cstr.data(),
nullptr,
&startup_info,
diff --git a/toolsrc/src/vcpkg/commands.cpp b/toolsrc/src/vcpkg/commands.cpp
index ccf6fa729..d9c0e54cd 100644
--- a/toolsrc/src/vcpkg/commands.cpp
+++ b/toolsrc/src/vcpkg/commands.cpp
@@ -41,7 +41,9 @@ namespace vcpkg::Commands
{"import", &Import::perform_and_exit},
{"cache", &Cache::perform_and_exit},
{"portsdiff", &PortsDiff::perform_and_exit},
- {"autocomplete", &Autocomplete::perform_and_exit}};
+ {"autocomplete", &Autocomplete::perform_and_exit},
+ {"hash", &Hash::perform_and_exit},
+ };
return t;
}
@@ -49,8 +51,7 @@ namespace vcpkg::Commands
{
static std::vector<PackageNameAndFunction<CommandTypeC>> t = {
{"version", &Version::perform_and_exit},
- {"contact", &Contact::perform_and_exit},
- {"hash", &Hash::perform_and_exit},
+ {"contact", &Contact::perform_and_exit}
};
return t;
}
diff --git a/toolsrc/src/vcpkg/commands.hash.cpp b/toolsrc/src/vcpkg/commands.hash.cpp
index a5940ea1e..1e3e5b23d 100644
--- a/toolsrc/src/vcpkg/commands.hash.cpp
+++ b/toolsrc/src/vcpkg/commands.hash.cpp
@@ -7,15 +7,17 @@
namespace vcpkg::Commands::Hash
{
- static void do_file_hash(fs::path const& path, std::string const& hash_type)
+ static void do_file_hash(fs::path const &cmake_exe_path, fs::path const& path, std::string const& hash_type)
{
- const auto cmd_line = Strings::format(R"(CertUtil.exe -hashfile "%s" %s)", path.u8string().c_str(), hash_type);
+ const std::string cmd_line = Strings::format(
+ R"("%s" -E %ssum %s)", cmake_exe_path.u8string(), Strings::ascii_to_lowercase(hash_type), path.u8string());
+
const auto ec_data = System::cmd_execute_and_capture_output(cmd_line);
Checks::check_exit(VCPKG_LINE_INFO, ec_data.exit_code == 0, "Running command:\n %s\n failed", cmd_line);
std::string const& output = ec_data.output;
- const auto start = output.find_first_of("\r\n");
+ const auto start = output.find_first_of(" ");
Checks::check_exit(
VCPKG_LINE_INFO, start != std::string::npos, "Unexpected output format from command: %s", cmd_line);
@@ -23,7 +25,7 @@ namespace vcpkg::Commands::Hash
Checks::check_exit(
VCPKG_LINE_INFO, end != std::string::npos, "Unexpected output format from command: %s", cmd_line);
- auto hash = output.substr(start, end - start);
+ auto hash = output.substr(0, start);
Util::erase_remove_if(hash, isspace);
System::println(hash);
}
@@ -37,17 +39,17 @@ namespace vcpkg::Commands::Hash
nullptr,
};
- void perform_and_exit(const VcpkgCmdArguments& args)
+ void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths)
{
args.parse_arguments(COMMAND_STRUCTURE);
if (args.command_arguments.size() == 1)
{
- do_file_hash(args.command_arguments[0], "SHA512");
+ do_file_hash(paths.get_cmake_exe(), args.command_arguments[0], "SHA512");
}
if (args.command_arguments.size() == 2)
{
- do_file_hash(args.command_arguments[0], args.command_arguments[1]);
+ do_file_hash(paths.get_cmake_exe(), args.command_arguments[0], args.command_arguments[1]);
}
Checks::exit_success(VCPKG_LINE_INFO);
diff --git a/toolsrc/src/vcpkg/triplet.cpp b/toolsrc/src/vcpkg/triplet.cpp
index 4cba1523d..ef0fab183 100644
--- a/toolsrc/src/vcpkg/triplet.cpp
+++ b/toolsrc/src/vcpkg/triplet.cpp
@@ -36,6 +36,9 @@ namespace vcpkg
const Triplet Triplet::X86_UWP = from_canonical_name("x86-uwp");
const Triplet Triplet::X64_UWP = from_canonical_name("x64-uwp");
const Triplet Triplet::ARM_UWP = from_canonical_name("arm-uwp");
+ const Triplet Triplet::ARM64_UWP = from_canonical_name("arm64-uwp");
+ const Triplet Triplet::ARM_WINDOWS = from_canonical_name("arm-windows");
+ const Triplet Triplet::ARM64_WINDOWS = from_canonical_name("arm64-windows");
bool Triplet::operator==(const Triplet& other) const { return this->m_instance == other.m_instance; }
diff --git a/toolsrc/src/vcpkg/vcpkgpaths.cpp b/toolsrc/src/vcpkg/vcpkgpaths.cpp
index e64a681e2..fa5fb128c 100644
--- a/toolsrc/src/vcpkg/vcpkgpaths.cpp
+++ b/toolsrc/src/vcpkg/vcpkgpaths.cpp
@@ -115,7 +115,7 @@ namespace vcpkg
static fs::path get_cmake_path(const fs::path& downloads_folder, const fs::path& scripts_folder)
{
#if defined(_WIN32)
- static constexpr std::array<int, 3> EXPECTED_VERSION = {3, 10, 0};
+ static constexpr std::array<int, 3> EXPECTED_VERSION = {3, 10, 1};
#else
static constexpr std::array<int, 3> EXPECTED_VERSION = {3, 5, 1};
#endif
@@ -124,7 +124,7 @@ namespace vcpkg
const std::vector<fs::path> from_path = Files::find_from_PATH("cmake");
std::vector<fs::path> candidate_paths;
- const fs::path downloaded_copy = downloads_folder / "cmake-3.10.0-win32-x86" / "bin" / "cmake.exe";
+ const fs::path downloaded_copy = downloads_folder / "cmake-3.10.1-win32-x86" / "bin" / "cmake.exe";
#if defined(_WIN32)
candidate_paths.push_back(downloaded_copy);
#endif
@@ -583,7 +583,7 @@ namespace vcpkg
candidates, [&](const Toolset* t) { return *tsv == t->version && *vsp == t->visual_studio_root_path; });
Checks::check_exit(VCPKG_LINE_INFO,
!candidates.empty(),
- "Could not find Visual Studio instace at %s with %s toolset.",
+ "Could not find Visual Studio instance at %s with %s toolset.",
vsp->u8string(),
*tsv);
@@ -595,7 +595,7 @@ namespace vcpkg
{
Util::stable_keep_if(candidates, [&](const Toolset* t) { return *tsv == t->version; });
Checks::check_exit(
- VCPKG_LINE_INFO, !candidates.empty(), "Could not find Visual Studio instace with %s toolset.", *tsv);
+ VCPKG_LINE_INFO, !candidates.empty(), "Could not find Visual Studio instance with %s toolset.", *tsv);
}
if (vsp)
@@ -605,7 +605,7 @@ namespace vcpkg
[&](const Toolset* t) { return vs_root_path == t->visual_studio_root_path; });
Checks::check_exit(VCPKG_LINE_INFO,
!candidates.empty(),
- "Could not find Visual Studio instace at %s.",
+ "Could not find Visual Studio instance at %s.",
vs_root_path.generic_string());
}