aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCurtis.Bezault <curtbezault@gmail.com>2019-07-23 16:28:00 -0700
committerCurtis.Bezault <curtbezault@gmail.com>2019-07-23 16:28:00 -0700
commitd68b9a08b1edfe80b77fd65afd21faffc81b162b (patch)
treef8be8097c96e88aa73867bfb89876fed516b95c1
parent45cd8cda5a8339ec91693c720dd7df5b496b8856 (diff)
downloadvcpkg-d68b9a08b1edfe80b77fd65afd21faffc81b162b.tar.gz
vcpkg-d68b9a08b1edfe80b77fd65afd21faffc81b162b.zip
only use filename
-rw-r--r--toolsrc/include/vcpkg/build.h2
-rw-r--r--toolsrc/src/vcpkg/build.cpp17
2 files changed, 14 insertions, 5 deletions
diff --git a/toolsrc/include/vcpkg/build.h b/toolsrc/include/vcpkg/build.h
index 0445675f0..2d5e18a43 100644
--- a/toolsrc/include/vcpkg/build.h
+++ b/toolsrc/include/vcpkg/build.h
@@ -138,7 +138,7 @@ namespace vcpkg::Build
Optional<std::string> external_toolchain_file;
Optional<ConfigurationType> build_type;
std::vector<std::string> passthrough_env_vars;
- std::vector<std::pair<std::string, std::string>> external_files;
+ std::vector<std::pair<fs::path, std::string>> 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 70c664b75..9d5b490e3 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<std::pair<std::string, std::string>> get_external_file_hashes(
+ static std::vector<std::pair<fs::path, std::string>> get_external_file_hashes(
const VcpkgPaths& paths,
const std::vector<fs::path>& files)
{
@@ -467,7 +467,7 @@ namespace vcpkg::Build
const auto& fs = paths.get_filesystem();
- std::vector<std::pair<std::string, std::string>> hashes;
+ std::vector<std::pair<fs::path, std::string>> 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<std::pair<std::string, std::string>> additional_file_hashes
+ = Util::fmap(pre_build_info.external_files,
+ [](const std::pair<fs::path, std::string>& file_hash)
+ {
+ return std::pair<std::string, std::string>{
+ file_hash.first.filename().u8string(),
+ file_hash.second
+ };
+ });
+
std::sort(
additional_file_hashes.begin(),
additional_file_hashes.end(),