summaryrefslogtreecommitdiff
path: root/Modules/FindSubversion.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-05-28 11:33:53 -0400
committerBrad King <brad.king@kitware.com>2020-05-28 11:37:47 -0400
commit2c0db404d17a239aa2d549ffeaf8fb1292d4d217 (patch)
tree8910dd64f662dd66990f3728a00d958ce75694a5 /Modules/FindSubversion.cmake
parente647949539f4704a00eddac2357d59ceeb8bc0ca (diff)
downloadcmake-2c0db404d17a239aa2d549ffeaf8fb1292d4d217.tar.gz
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/FindSubversion.cmake')
-rw-r--r--Modules/FindSubversion.cmake13
1 files changed, 11 insertions, 2 deletions
diff --git a/Modules/FindSubversion.cmake b/Modules/FindSubversion.cmake
index ce280e2773..07cb770cf3 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)