diff options
author | Brad King <brad.king@kitware.com> | 2020-05-28 15:33:53 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2020-05-28 15:37:47 (GMT) |
commit | 2c0db404d17a239aa2d549ffeaf8fb1292d4d217 (patch) | |
tree | 8910dd64f662dd66990f3728a00d958ce75694a5 /Modules | |
parent | e647949539f4704a00eddac2357d59ceeb8bc0ca (diff) | |
download | CMake-2c0db404d17a239aa2d549ffeaf8fb1292d4d217.zip CMake-2c0db404d17a239aa2d549ffeaf8fb1292d4d217.tar.gz CMake-2c0db404d17a239aa2d549ffeaf8fb1292d4d217.tar.bz2 |
FindSubversion: Do not accept macOS stub without Xcode implementation
Xcode no longer provides a `svn` implementation, but the `/usr/bin/svn`
stub may still exist.
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/FindSubversion.cmake | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/Modules/FindSubversion.cmake b/Modules/FindSubversion.cmake index ce280e2..07cb770 100644 --- a/Modules/FindSubversion.cmake +++ b/Modules/FindSubversion.cmake @@ -79,13 +79,22 @@ if(Subversion_SVN_EXECUTABLE) execute_process(COMMAND ${Subversion_SVN_EXECUTABLE} --version OUTPUT_VARIABLE Subversion_VERSION_SVN + ERROR_VARIABLE _Subversion_VERSION_STDERR + RESULT_VARIABLE _Subversion_VERSION_RESULT OUTPUT_STRIP_TRAILING_WHITESPACE) # restore the previous LC_ALL set(ENV{LC_ALL} ${_Subversion_SAVED_LC_ALL}) - string(REGEX REPLACE "^(.*\n)?svn, version ([.0-9]+).*" - "\\2" Subversion_VERSION_SVN "${Subversion_VERSION_SVN}") + if(_Subversion_VERSION_RESULT EQUAL 0) + string(REGEX REPLACE "^(.*\n)?svn, version ([.0-9]+).*" + "\\2" Subversion_VERSION_SVN "${Subversion_VERSION_SVN}") + else() + unset(Subversion_VERSION_SVN) + if(_Subversion_VERSION_STDERR MATCHES "svn: error: The subversion command line tools are no longer provided by Xcode") + set(Subversion_SVN_EXECUTABLE Subversion_SVN_EXECUTABLE-NOTFOUND) + endif() + endif() macro(Subversion_WC_INFO dir prefix) |