CMake: make the regexes used for setting HOST_LINK_VERSION more forgiving (PR21268)
authorHans Wennborg <hans@hanshq.net>
Tue, 2 Dec 2014 03:08:38 +0000 (03:08 +0000)
committerHans Wennborg <hans@hanshq.net>
Tue, 2 Dec 2014 03:08:38 +0000 (03:08 +0000)
If the output of 'ld -v' didn't match the regexes, CMake would previously error
with a message like:

  CMake Error at tools/clang/CMakeLists.txt:269 (string):
    string sub-command REGEX, mode REPLACE regex "[^0-9]*([0-9.]*).*" matched
    an empty string.

llvm-svn: 223106

clang/CMakeLists.txt

index 7f5e092..35d8d69 100644 (file)
@@ -265,7 +265,7 @@ if (APPLE)
   if (NOT HAD_ERROR)
     if ("${LD_V_OUTPUT}" MATCHES ".*ld64.*")
       string(REGEX REPLACE ".*ld64-([0-9.]*).*" "\\1" HOST_LINK_VERSION ${LD_V_OUTPUT})
-    else()
+    elseif ("${LD_V_OUTPUT}" MATCHES "[^0-9]*([0-9.]*).*")
       string(REGEX REPLACE "[^0-9]*([0-9.]*).*" "\\1" HOST_LINK_VERSION ${LD_V_OUTPUT})
     endif()
   else()