From 78112eef25772968412c32026b6a98f3817afe8d Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 17 Aug 2005 16:06:52 -0400 Subject: ENH: Added -E cmake_symlink_executable command to help create symbolic links for versioned executables. --- Source/cmake.cxx | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Source/cmake.cxx b/Source/cmake.cxx index 9ea46c5..2929437 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -885,6 +885,26 @@ int cmake::CMakeCommand(std::vector& args) } return result; } + // Internal CMake versioned executable support. + else if (args[1] == "cmake_symlink_executable" && args.size() == 4) + { + int result = 0; + std::string realName = args[2]; + std::string name = args[3]; + if(name != realName) + { + std::string fname = cmSystemTools::GetFilenameName(realName); + if(cmSystemTools::FileExists(realName.c_str())) + { + cmSystemTools::RemoveFile(name.c_str()); + } + if(!cmSystemTools::CreateSymlink(fname.c_str(), name.c_str())) + { + result = 1; + } + } + return result; + } // Internal CMake dependency scanning support. else if (args[1] == "cmake_depends" && args.size() >= 6) -- cgit v0.12