diff options
author | Brad King <brad.king@kitware.com> | 2009-02-06 13:33:52 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2009-02-06 13:33:52 (GMT) |
commit | 16fe328dfc65f47e0a4fd1f7f1ac8e2fa3663b51 (patch) | |
tree | 71d385a536394b58dc42b7e4162baf3078907097 /Tests | |
parent | 0499ca66aab617409458cc2add56c10c15904e94 (diff) | |
download | CMake-16fe328dfc65f47e0a4fd1f7f1ac8e2fa3663b51.zip CMake-16fe328dfc65f47e0a4fd1f7f1ac8e2fa3663b51.tar.gz CMake-16fe328dfc65f47e0a4fd1f7f1ac8e2fa3663b51.tar.bz2 |
BUG: Alternative fix to bug #8423
The patch used to fix this bug used SystemTools::GetRealPath which works
only for existing files. It broke the case of using the command
get_filename_component for a non-existing file. Also, it changed
long-standing behavior in a possibly incompatible way even for existing
files. This reverts the original fix and instead updates the
documentation to be consistent with the behavior.
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/CMakeTests/CMakeLists.txt | 1 | ||||
-rw-r--r-- | Tests/CMakeTests/GetFilenameComponentSymlinksTest.cmake.in | 43 |
2 files changed, 0 insertions, 44 deletions
diff --git a/Tests/CMakeTests/CMakeLists.txt b/Tests/CMakeTests/CMakeLists.txt index 981653d..9f91abc 100644 --- a/Tests/CMakeTests/CMakeLists.txt +++ b/Tests/CMakeTests/CMakeLists.txt @@ -14,7 +14,6 @@ AddCMakeTest(VariableWatch "") AddCMakeTest(Include "") AddCMakeTest(FindBase "") AddCMakeTest(Toolchain "") -AddCMakeTest(GetFilenameComponentSymlinks "") SET(GetPrerequisites_PreArgs "-DCTEST_CONFIGURATION_TYPE:STRING=\\\${CTEST_CONFIGURATION_TYPE}" diff --git a/Tests/CMakeTests/GetFilenameComponentSymlinksTest.cmake.in b/Tests/CMakeTests/GetFilenameComponentSymlinksTest.cmake.in deleted file mode 100644 index 2179911..0000000 --- a/Tests/CMakeTests/GetFilenameComponentSymlinksTest.cmake.in +++ /dev/null @@ -1,43 +0,0 @@ -if(UNIX) - # file1 => file2 => file3 (real) - - set(bindir ${CMAKE_CURRENT_BINARY_DIR}) - - file(WRITE ${bindir}/file3 "test file") - find_program(LN NAMES "ln") - - if(LN) - # Create symlinks using "ln -s" - if(NOT EXISTS ${bindir}/file2) - execute_process(COMMAND ${LN} "-s" "${bindir}/file3" "${bindir}/file2") - endif() - if(NOT EXISTS ${bindir}/file1) - execute_process(COMMAND ${LN} "-s" "${bindir}/file2" "${bindir}/file1") - endif() - - get_filename_component(file1 ${bindir}/file1 ABSOLUTE) - get_filename_component(file2 ${bindir}/file2 ABSOLUTE) - get_filename_component(file3 ${bindir}/file3 ABSOLUTE) - - if(NOT file3 STREQUAL "${bindir}/file3") - message(FATAL_ERROR "CMake fails resolving absolute file file3") - endif() - - if(NOT file2 STREQUAL "${bindir}/file3") - message(FATAL_ERROR "CMake fails resolving simple symlink") - endif() - - if(NOT file1 STREQUAL "${bindir}/file3") - message(FATAL_ERROR "CMake fails resolving double symlink") - endif() - - # cleanup - file(REMOVE ${bindir}/file1) - file(REMOVE ${bindir}/file2) - file(REMOVE ${bindir}/file3) - if(EXISTS file1 OR EXISTS file2 OR EXISTS file3) - message(FATAL_ERROR "removal of file1, file2, or file3 failed") - endif() - - endif(LN) -endif() |