mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-13 01:29:02 -05:00
Merge topic 'install-symlink-to-directory'
d71a7cc19d install(FILES): Allow installation of symlinks to directory
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6098
This commit is contained in:
@@ -1482,7 +1482,8 @@ bool Helper::MakeFilesFullPath(const char* modeName,
|
||||
}
|
||||
|
||||
// Make sure the file is not a directory.
|
||||
if (gpos == std::string::npos && cmSystemTools::FileIsDirectory(file)) {
|
||||
if (gpos == std::string::npos && !cmSystemTools::FileIsSymlink(file) &&
|
||||
cmSystemTools::FileIsDirectory(file)) {
|
||||
this->SetError(
|
||||
cmStrCat(modeName, " given directory \"", relFile, "\" to install."));
|
||||
return false;
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
1
|
||||
@@ -0,0 +1 @@
|
||||
install FILES given directory
|
||||
@@ -0,0 +1,7 @@
|
||||
set(dst "${CMAKE_CURRENT_BINARY_DIR}/dst")
|
||||
set(src "${CMAKE_CURRENT_BINARY_DIR}/src")
|
||||
|
||||
file(MAKE_DIRECTORY "${dst}")
|
||||
file(MAKE_DIRECTORY "${src}")
|
||||
|
||||
install(FILES "${src}" DESTINATION "${dst}")
|
||||
@@ -0,0 +1,9 @@
|
||||
set(dst "${CMAKE_CURRENT_BINARY_DIR}/dst")
|
||||
set(src "${CMAKE_CURRENT_BINARY_DIR}/src")
|
||||
set(lnk "${CMAKE_CURRENT_BINARY_DIR}/lnk")
|
||||
|
||||
file(MAKE_DIRECTORY "${dst}")
|
||||
file(MAKE_DIRECTORY "${src}")
|
||||
file(CREATE_LINK "${src}" "${lnk}" SYMBOLIC)
|
||||
|
||||
install(FILES "${lnk}" DESTINATION "${dst}")
|
||||
@@ -93,6 +93,10 @@ run_cmake(TARGETS-NAMELINK_COMPONENT-bad-all)
|
||||
run_cmake(TARGETS-NAMELINK_COMPONENT-bad-exc)
|
||||
run_cmake(FILES-DESTINATION-TYPE)
|
||||
run_cmake(DIRECTORY-DESTINATION-TYPE)
|
||||
run_cmake(FILES-directory)
|
||||
if(NOT WIN32)
|
||||
run_cmake(FILES-symlink-to-directory)
|
||||
endif()
|
||||
|
||||
set(RunCMake_TEST_OPTIONS "-DCMAKE_BUILD_TYPE:STRING=Debug")
|
||||
run_install_test(FILES-RENAME)
|
||||
|
||||
Reference in New Issue
Block a user