diff options
author | Brad King <brad.king@kitware.com> | 2016-08-09 13:53:16 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-08-09 14:09:52 (GMT) |
commit | c7a319ab057172071bf8fb909c4498ca87b1235a (patch) | |
tree | 7ae61249febff2785b714ab022e816b1abed830c /Source/cmInstallExportGenerator.h | |
parent | 4689d16e8aa90e57a8456357251b6575131529d7 (diff) | |
download | CMake-c7a319ab057172071bf8fb909c4498ca87b1235a.zip CMake-c7a319ab057172071bf8fb909c4498ca87b1235a.tar.gz CMake-c7a319ab057172071bf8fb909c4498ca87b1235a.tar.bz2 |
install(EXPORT): Fix support for mid-length install destinations on Windows
The implementation of `install(EXPORT)` generates files into a staging
directory for later installation. We use the full install destination
in the path to the staging directory to avoid collisions. In order to
avoid exceeding maximum path lengths (especially on Windows) we compute
a hash of the install destination when it is too long. Fix this logic
to account for the length of the file name(s) when deciding whether to
switch to the hashed name.
Reported-by: Alan W. Irwin <irwin@beluga.phys.uvic.ca>
Diffstat (limited to 'Source/cmInstallExportGenerator.h')
-rw-r--r-- | Source/cmInstallExportGenerator.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/Source/cmInstallExportGenerator.h b/Source/cmInstallExportGenerator.h index 4435f53..22e661b 100644 --- a/Source/cmInstallExportGenerator.h +++ b/Source/cmInstallExportGenerator.h @@ -53,6 +53,7 @@ protected: void GenerateImportFile(cmExportSet const* exportSet); void GenerateImportFile(const char* config, cmExportSet const* exportSet); void ComputeTempDir(); + size_t GetMaxConfigLength() const; cmExportSet* ExportSet; std::string FilePermissions; |