From e746ac28fb61ca618925345b344f83d1e78f766e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20R=C3=B6hling?= Date: Fri, 13 Mar 2026 15:09:19 +0100 Subject: [PATCH] Tests/RunCMake/CommandLine: Check tilde shell expansion more precisely Revise the test from commit 01f92efeb0 (Restore expansion of leading '~' as home directory in input paths, 2025-04-02, v4.0.1~12^2) to tolerate `~` in the path to CMake's source or build tree. If tilde `~` shell expansion fails it can only occur at the beginning of a path component. --- Tests/RunCMake/CommandLine/D-tilde.cmake | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Tests/RunCMake/CommandLine/D-tilde.cmake b/Tests/RunCMake/CommandLine/D-tilde.cmake index 63028ea246..0e83ce17ac 100644 --- a/Tests/RunCMake/CommandLine/D-tilde.cmake +++ b/Tests/RunCMake/CommandLine/D-tilde.cmake @@ -1,9 +1,9 @@ if(NOT "$ENV{HOME}" STREQUAL "") - if(TILDE_PATH MATCHES "~" OR NOT IS_ABSOLUTE "${TILDE_PATH}") + if(TILDE_PATH MATCHES "(^|/)~" OR NOT IS_ABSOLUTE "${TILDE_PATH}") message(SEND_ERROR "~ not expanded as expected:\n ${TILDE_PATH}") endif() - if(TILDE_SLASH_PATH MATCHES "~" OR NOT IS_ABSOLUTE "${TILDE_SLASH_PATH}" OR NOT TILDE_SLASH_PATH MATCHES "/InHome$") + if(TILDE_SLASH_PATH MATCHES "(^|/)~/" OR NOT IS_ABSOLUTE "${TILDE_SLASH_PATH}" OR NOT TILDE_SLASH_PATH MATCHES "/InHome$") message(SEND_ERROR "~/ not expanded as expected:\n ${TILDE_SLASH_PATH}") endif() else() @@ -11,11 +11,11 @@ else() endif() set(TILDE "" CACHE PATH "") -if(TILDE MATCHES "~" OR NOT IS_ABSOLUTE "${TILDE}") +if(TILDE MATCHES "(^|/)~" OR NOT IS_ABSOLUTE "${TILDE}") message(SEND_ERROR "~ not expanded as expected:\n ${TILDE}") endif() set(TILDE_SLASH "" CACHE PATH "") -if(TILDE_SLASH MATCHES "~" OR NOT IS_ABSOLUTE "${TILDE_SLASH}" OR NOT TILDE_SLASH MATCHES "/InHome$") +if(TILDE_SLASH MATCHES "(^|/)~/" OR NOT IS_ABSOLUTE "${TILDE_SLASH}" OR NOT TILDE_SLASH MATCHES "/InHome$") message(SEND_ERROR "~/ not expanded as expected:\n ${TILDE_SLASH}") endif()