summaryrefslogtreecommitdiffstats
path: root/Modules/ExternalProject.cmake
diff options
context:
space:
mode:
authorCraig Scott <craig.scott@crascit.com>2023-08-20 23:23:02 (GMT)
committerCraig Scott <craig.scott@crascit.com>2023-08-20 23:23:02 (GMT)
commita1509658a0e49b49fe7a093300bd70dd31fb44e6 (patch)
treeb7872e7e53af9dbdeaf59b62738d2ab4d460c1bc /Modules/ExternalProject.cmake
parentdcdc80cdc72eaa912cb4c292067a274a8e9ea7a9 (diff)
downloadCMake-a1509658a0e49b49fe7a093300bd70dd31fb44e6.zip
CMake-a1509658a0e49b49fe7a093300bd70dd31fb44e6.tar.gz
CMake-a1509658a0e49b49fe7a093300bd70dd31fb44e6.tar.bz2
ExternalProject: Ensure svn --trust-server-cert has dependent options
If the --trust-server-cert option is given to svn without the --non-interactive option, the command fails with an error. Previously, --non-interactive was always added, but b1c2cb0436a (ExternalProject: Make SVN interactive with USES_TERMINAL_{DOWNLOAD,UPDATE}, 2022-05-06) changed the behavior to only add it if the relevant USES_TERMINAL_... option was set to true. Fixes: #25197
Diffstat (limited to 'Modules/ExternalProject.cmake')
-rw-r--r--Modules/ExternalProject.cmake6
1 files changed, 4 insertions, 2 deletions
diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake
index dc9d2ce..36eb70e 100644
--- a/Modules/ExternalProject.cmake
+++ b/Modules/ExternalProject.cmake
@@ -2869,7 +2869,8 @@ function(_ep_add_download_command name)
TARGET ${name}
PROPERTY _EP_USES_TERMINAL_DOWNLOAD
)
- if(uses_terminal)
+ # The --trust-server-cert option requires --non-interactive
+ if(uses_terminal AND NOT svn_trust_cert)
set(svn_interactive_args "")
else()
set(svn_interactive_args "--non-interactive")
@@ -3357,7 +3358,8 @@ function(_ep_add_update_command name)
get_property(svn_password TARGET ${name} PROPERTY _EP_SVN_PASSWORD)
get_property(svn_trust_cert TARGET ${name} PROPERTY _EP_SVN_TRUST_CERT)
get_property(uses_terminal TARGET ${name} PROPERTY _EP_USES_TERMINAL_UPDATE)
- if(uses_terminal)
+ # The --trust-server-cert option requires --non-interactive
+ if(uses_terminal AND NOT svn_trust_cert)
set(svn_interactive_args "")
else()
set(svn_interactive_args "--non-interactive")