summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2019-04-19 11:23:36 (GMT)
committerKitware Robot <kwrobot@kitware.com>2019-04-19 11:23:48 (GMT)
commit8542152626590db6a13b20aa3d36214186c6b40d (patch)
tree0900294b3fe53b751c3e5812259dff420af7d472 /Tests
parentbf64e50da4a36e17ea0e27a45a5277226e123210 (diff)
parenta9428fc473ca6eff749bd9868e2caabf7f84cc39 (diff)
downloadCMake-8542152626590db6a13b20aa3d36214186c6b40d.zip
CMake-8542152626590db6a13b20aa3d36214186c6b40d.tar.gz
CMake-8542152626590db6a13b20aa3d36214186c6b40d.tar.bz2
Merge topic 'test-find_package-resolve-symlinks'
a9428fc473 Tests: Fix FindPackageTest when path to source has a symlink e27437d0e0 Tests/FindPackageTest: Tell Git to ignore temporary symlink path Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3244
Diffstat (limited to 'Tests')
-rw-r--r--Tests/FindPackageTest/.gitignore1
-rw-r--r--Tests/FindPackageTest/CMakeLists.txt21
2 files changed, 14 insertions, 8 deletions
diff --git a/Tests/FindPackageTest/.gitignore b/Tests/FindPackageTest/.gitignore
new file mode 100644
index 0000000..3aaef13
--- /dev/null
+++ b/Tests/FindPackageTest/.gitignore
@@ -0,0 +1 @@
+/symlink
diff --git a/Tests/FindPackageTest/CMakeLists.txt b/Tests/FindPackageTest/CMakeLists.txt
index 972580c..6c876a7 100644
--- a/Tests/FindPackageTest/CMakeLists.txt
+++ b/Tests/FindPackageTest/CMakeLists.txt
@@ -205,15 +205,20 @@ if(UNIX)
message(SEND_ERROR "SetFoundResolved_DIR set by find_package() is set to \"${SetFoundResolved_DIR}\" (expected \"${SetFoundResolved_EXPECTED}\")")
endif()
- # Resolve symlinks when finding the package.
- set(CMAKE_FIND_PACKAGE_RESOLVE_SYMLINKS TRUE)
- set(SetFoundResolved_DIR "")
- find_package(SetFoundResolved)
- # ./symlink points back here so it should be gone when resolved.
- set(SetFoundResolved_EXPECTED "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
- if(NOT "${SetFoundResolved_DIR}" STREQUAL "${SetFoundResolved_EXPECTED}")
- message(SEND_ERROR "SetFoundResolved_DIR set by find_package() is set to \"${SetFoundResolved_DIR}\" (expected \"${SetFoundResolved_EXPECTED}\")")
+ # This part of the test only works if there are no symlinks in our path.
+ get_filename_component(real_src_dir "${CMAKE_CURRENT_SOURCE_DIR}" REALPATH)
+ if(real_src_dir STREQUAL CMAKE_CURRENT_SOURCE_DIR)
+ # Resolve symlinks when finding the package.
+ set(CMAKE_FIND_PACKAGE_RESOLVE_SYMLINKS TRUE)
+ set(SetFoundResolved_DIR "")
+ find_package(SetFoundResolved)
+ # ./symlink points back here so it should be gone when resolved.
+ set(SetFoundResolved_EXPECTED "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+ if(NOT "${SetFoundResolved_DIR}" STREQUAL "${SetFoundResolved_EXPECTED}")
+ message(SEND_ERROR "SetFoundResolved_DIR set by find_package() is set to \"${SetFoundResolved_DIR}\" (expected \"${SetFoundResolved_EXPECTED}\")")
+ endif()
endif()
+
# Cleanup.
unset(CMAKE_FIND_PACKAGE_RESOLVE_SYMLINKS)
file(REMOVE "${CMAKE_CURRENT_SOURCE_DIR}/symlink")