diff options
author | Craig Scott <craig.scott@crascit.com> | 2023-08-20 23:23:02 (GMT) |
---|---|---|
committer | Craig Scott <craig.scott@crascit.com> | 2023-08-20 23:23:02 (GMT) |
commit | a1509658a0e49b49fe7a093300bd70dd31fb44e6 (patch) | |
tree | b7872e7e53af9dbdeaf59b62738d2ab4d460c1bc /Modules/ExternalProject.cmake | |
parent | dcdc80cdc72eaa912cb4c292067a274a8e9ea7a9 (diff) | |
download | CMake-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.cmake | 6 |
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") |