summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/cmake_path/SET.cmake
diff options
context:
space:
mode:
authorMarc Chevrier <marc.chevrier@gmail.com>2020-11-09 15:16:07 (GMT)
committerMarc Chevrier <marc.chevrier@gmail.com>2020-11-11 22:43:51 (GMT)
commited21ad181e0c3fd9fc1a8094fc2f8b8daafefc6d (patch)
tree58ae66a7739e5f86240c109b145d5e8d019b9445 /Tests/RunCMake/cmake_path/SET.cmake
parent8b9497e3e52cfa23a1ba64f08db7f4ef9b602382 (diff)
downloadCMake-ed21ad181e0c3fd9fc1a8094fc2f8b8daafefc6d.zip
CMake-ed21ad181e0c3fd9fc1a8094fc2f8b8daafefc6d.tar.gz
CMake-ed21ad181e0c3fd9fc1a8094fc2f8b8daafefc6d.tar.bz2
cmake_path: various enhancements to subcommands/keywords
This change address partly the remarks done in issue #21385
Diffstat (limited to 'Tests/RunCMake/cmake_path/SET.cmake')
-rw-r--r--Tests/RunCMake/cmake_path/SET.cmake43
1 files changed, 43 insertions, 0 deletions
diff --git a/Tests/RunCMake/cmake_path/SET.cmake b/Tests/RunCMake/cmake_path/SET.cmake
new file mode 100644
index 0000000..445783e
--- /dev/null
+++ b/Tests/RunCMake/cmake_path/SET.cmake
@@ -0,0 +1,43 @@
+
+include ("${RunCMake_SOURCE_DIR}/check_errors.cmake")
+unset (errors)
+
+cmake_path(SET path "/x/y/z/../../a/d")
+if (NOT path STREQUAL "/x/y/z/../../a/d")
+ list (APPEND errors "'${path}' instead of '/x/y/z/../../a/d'")
+endif()
+cmake_path(SET path NORMALIZE "/x/y/z/../../a/d")
+if (NOT path STREQUAL "/x/a/d")
+ list (APPEND errors "'${path}' instead of '/x/a/d'")
+endif()
+
+if (WIN32)
+ cmake_path(SET path "/x\\y/z\\..\\../a/d")
+ if (NOT path STREQUAL "/x/y/z/../../a/d")
+ list (APPEND errors "'${path}' instead of '/x/y/z/../../a/d'")
+ endif()
+ cmake_path(SET path NORMALIZE "/x\\y/z\\..\\../a/d")
+ if (NOT path STREQUAL "/x/a/d")
+ list (APPEND errors "'${path}' instead of '/x/a/d'")
+ endif()
+
+ cmake_path(SET path "//?/c:/x\\y/z\\..\\../a/d")
+ if (NOT path STREQUAL "c:/x/y/z/../../a/d")
+ list (APPEND errors "'${path}' instead of 'c:/x/y/z/../../a/d'")
+ endif()
+ cmake_path(SET path NORMALIZE "//?/c:/x\\y/z\\..\\../a/d")
+ if (NOT path STREQUAL "c:/x/a/d")
+ list (APPEND errors "'${path}' instead of 'c:/x/a/d'")
+ endif()
+
+ cmake_path(SET path "\\\\?\\UNC/host/x\\y/z\\..\\../a/d")
+ if (NOT path STREQUAL "//host/x/y/z/../../a/d")
+ list (APPEND errors "'${path}' instead of '//host/x/y/z/../../a/d'")
+ endif()
+ cmake_path(SET path NORMALIZE "\\\\?\\UNC\\host/x\\y/z\\..\\../a/d")
+ if (NOT path STREQUAL "//host/x/a/d")
+ list (APPEND errors "'${path}' instead of '//host/x/a/d'")
+ endif()
+endif()
+
+check_errors (SET ${errors})