From a1509658a0e49b49fe7a093300bd70dd31fb44e6 Mon Sep 17 00:00:00 2001 From: Craig Scott Date: Mon, 21 Aug 2023 09:23:02 +1000 Subject: 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 --- Modules/ExternalProject.cmake | 6 ++++-- 1 file 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") -- cgit v0.12