From d68b9a08b1edfe80b77fd65afd21faffc81b162b Mon Sep 17 00:00:00 2001 From: "Curtis.Bezault" Date: Tue, 23 Jul 2019 16:28:00 -0700 Subject: [PATCH] only use filename --- toolsrc/include/vcpkg/build.h | 2 +- toolsrc/src/vcpkg/build.cpp | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/toolsrc/include/vcpkg/build.h b/toolsrc/include/vcpkg/build.h index 0445675f026..2d5e18a43a7 100644 --- a/toolsrc/include/vcpkg/build.h +++ b/toolsrc/include/vcpkg/build.h @@ -138,7 +138,7 @@ namespace vcpkg::Build Optional external_toolchain_file; Optional build_type; std::vector passthrough_env_vars; - std::vector> external_files; + std::vector> external_files; }; std::string make_build_env_cmd(const PreBuildInfo& pre_build_info, const Toolset& toolset); diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp index 70c664b753d..9d5b490e35d 100644 --- a/toolsrc/src/vcpkg/build.cpp +++ b/toolsrc/src/vcpkg/build.cpp @@ -281,7 +281,7 @@ namespace vcpkg::Build for (auto& file_hash : pre_build_info.external_files) { bpgh.external_files.emplace( - std::move(file_hash.first), + file_hash.first.u8string(), std::move(file_hash.second)); } @@ -459,7 +459,7 @@ namespace vcpkg::Build return command; } - static std::vector> get_external_file_hashes( + static std::vector> get_external_file_hashes( const VcpkgPaths& paths, const std::vector& files) { @@ -467,7 +467,7 @@ namespace vcpkg::Build const auto& fs = paths.get_filesystem(); - std::vector> hashes; + std::vector> hashes; for (const fs::path& external_file : files) { auto it_hash = s_hash_cache.find(external_file); @@ -705,7 +705,16 @@ namespace vcpkg::Build } //Make a copy of the external files and their hashes, and sort by hash - auto additional_file_hashes = pre_build_info.external_files; + std::vector> additional_file_hashes + = Util::fmap(pre_build_info.external_files, + [](const std::pair& file_hash) + { + return std::pair{ + file_hash.first.filename().u8string(), + file_hash.second + }; + }); + std::sort( additional_file_hashes.begin(), additional_file_hashes.end(),