Skip to content

Commit d9fbd4b

Browse files
author
timlinux
committed
Backported from head to fix build problems in win cmd.exe prompt
git-svn-id: http://svn.osgeo.org/qgis/branches/Release-0_8_0@6662 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent f2377a4 commit d9fbd4b

File tree

1 file changed

+19
-14
lines changed

1 file changed

+19
-14
lines changed

cmake/Bison.cmake

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,24 @@ MACRO(FIND_BISON)
55
IF(NOT BISON_EXECUTABLE)
66
FIND_PROGRAM(BISON_EXECUTABLE bison)
77
IF (NOT BISON_EXECUTABLE)
8-
MESSAGE(FATAL_ERROR "Bison not found - aborting")
9-
ENDIF (NOT BISON_EXECUTABLE)
8+
9+
MESSAGE(FATAL_ERROR "Bison not found - aborting")
10+
11+
ELSE (NOT BISON_EXECUTABLE)
12+
13+
EXEC_PROGRAM(${BISON_EXECUTABLE} ARGS --version OUTPUT_VARIABLE BISON_VERSION_STR)
14+
# get first line in case it's multiline
15+
STRING(REGEX REPLACE "([^\n]+).*" "\\1" FIRST_LINE "${BISON_VERSION_STR}")
16+
# get version information
17+
STRING(REGEX REPLACE ".* ([0-9]+)\\.([0-9]+)" "\\1" BISON_VERSION_MAJOR "${FIRST_LINE}")
18+
STRING(REGEX REPLACE ".* ([0-9]+)\\.([0-9]+)" "\\2" BISON_VERSION_MINOR "${FIRST_LINE}")
19+
IF (BISON_VERSION_MAJOR LESS 2)
20+
MESSAGE (FATAL_ERROR "Bison version is too old (${BISON_VERSION_MAJOR}.${BISON_VERSION_MINOR}). Use 2.0 or higher.")
21+
ENDIF (BISON_VERSION_MAJOR LESS 2)
22+
23+
ENDIF (NOT BISON_EXECUTABLE)
1024
ENDIF(NOT BISON_EXECUTABLE)
25+
1126
ENDMACRO(FIND_BISON)
1227

1328
MACRO(ADD_BISON_FILES _sources )
@@ -18,15 +33,13 @@ MACRO(ADD_BISON_FILES _sources )
1833
GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE)
1934

2035
SET(_out ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp)
21-
SET(_out_h ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h)
22-
SET(_out_hpp ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.hpp)
2336

2437

2538
# bison options:
2639
# -t add debugging facilities
2740
# -d produce additional header file (used in parser.l)
2841
# -v produce additional *.output file with parser states
29-
42+
3043
ADD_CUSTOM_COMMAND(
3144
OUTPUT ${_out}
3245
COMMAND ${BISON_EXECUTABLE}
@@ -35,15 +48,7 @@ MACRO(ADD_BISON_FILES _sources )
3548
${_in}
3649
DEPENDS ${_in}
3750
)
38-
ADD_CUSTOM_COMMAND(
39-
OUTPUT ${_out_h}
40-
COMMAND mv
41-
ARGS
42-
${_out_hpp} ${_out_h}
43-
DEPENDS ${_out}
44-
)
45-
4651

47-
SET(${_sources} ${${_sources}} ${_out} ${_out_h} )
52+
SET(${_sources} ${${_sources}} ${_out} )
4853
ENDFOREACH (_current_FILE)
4954
ENDMACRO(ADD_BISON_FILES)

0 commit comments

Comments
 (0)