cmcmd: Fix cmake_symlink_library for inconsistent slashes

With the Ninja generator we may invoke `cmake_symlink_library` with
different slash conventions (`/` versus `\`) for different arguments.
Fix comparison of the paths/names given to tolerate this.

Fixes: #17579
This commit is contained in:
Brad King
2017-12-20 11:35:09 -05:00
parent 4d6c273606
commit 099a4ea50c
+6 -3
View File
@@ -1237,9 +1237,12 @@ int cmcmd::HashSumFile(std::vector<std::string>& args, cmCryptoHash::Algo algo)
int cmcmd::SymlinkLibrary(std::vector<std::string>& args)
{
int result = 0;
std::string const& realName = args[2];
std::string const& soName = args[3];
std::string const& name = args[4];
std::string realName = args[2];
std::string soName = args[3];
std::string name = args[4];
cmSystemTools::ConvertToUnixSlashes(realName);
cmSystemTools::ConvertToUnixSlashes(soName);
cmSystemTools::ConvertToUnixSlashes(name);
if (soName != realName) {
if (!cmcmd::SymlinkInternal(realName, soName)) {
cmSystemTools::ReportLastSystemError("cmake_symlink_library");