Merge topic 'FindBISON-version-regex'

20cb5ed FindBISON: Fix matching output of "bison --version"
f30f9a5 FindBISON: Fix bison++ version parsing to avoid "Offending entry"
This commit is contained in:
David Cole 2011-11-22 16:23:31 -05:00 committed by CMake Topic Stage
commit e9547efa96
1 changed files with 11 additions and 2 deletions

View File

@ -67,8 +67,17 @@ IF(BISON_EXECUTABLE)
IF(NOT ${BISON_version_result} EQUAL 0)
MESSAGE(SEND_ERROR "Command \"${BISON_EXECUTABLE} --version\" failed with output:\n${BISON_version_error}")
ELSE()
STRING(REGEX REPLACE "^bison \\(GNU Bison\\) ([^\n]+)\n.*" "\\1"
BISON_VERSION "${BISON_version_output}")
# Bison++
IF("${BISON_version_output}" MATCHES "^bison\\+\\+")
STRING(REGEX REPLACE "^bison\\+\\+ Version ([^,]+).*" "\\1"
BISON_VERSION "${BISON_version_output}")
# GNU Bison
ELSEIF("${BISON_version_output}" MATCHES "^bison[^+]")
STRING(REGEX REPLACE "^bison \\(GNU Bison\\) ([^\n]+)\n.*" "\\1"
BISON_VERSION "${BISON_version_output}")
ELSE()
SET(BISON_VERSION "unknown")
ENDIF()
ENDIF()
# internal macro