ENH: Added undocumented cmake_symlink_library to help with building versioned shared libraries.

This commit is contained in:
Brad King 2003-11-26 16:38:26 -05:00
parent 587370e1e2
commit f764e1fcb2
1 changed files with 27 additions and 1 deletions

View File

@ -715,7 +715,33 @@ int cmake::CMakeCommand(std::vector<std::string>& args)
}
return 1;
}
}
// Internal CMake shared library support.
else if (args[1] == "cmake_symlink_library" && args.size() == 5)
{
int result = 0;
std::string realName = args[2];
std::string soName = args[3];
std::string name = args[4];
if(soName != realName)
{
std::string fname = cmSystemTools::GetFilenameName(realName);
if(!cmSystemTools::CreateSymlink(fname.c_str(), soName.c_str()))
{
result = 1;
}
}
if(name != soName)
{
std::string fname = cmSystemTools::GetFilenameName(soName);
if(!cmSystemTools::CreateSymlink(fname.c_str(), name.c_str()))
{
result = 1;
}
}
return 0;
}
#if defined(_WIN32) && !defined(__CYGWIN__)
// Write registry value