~ubuntu-branches/ubuntu/natty/qgis/natty

1.1.3 by Francesco Paolo Lovergine
Import upstream version 0.8.1
1
# use bison for .yy files
2
3
# search for bison
4
MACRO(FIND_BISON)
1.2.1 by Francesco Paolo Lovergine
Import upstream version 1.4.0+12730
5
  IF(NOT BISON_EXECUTABLE)
6
    IF (MSVC)
7
      FIND_PROGRAM(BISON_EXECUTABLE PATHS
8
      		   NAMES bison.exe
9
	           PATHS $ENV{LIB_DIR}/bin $ENV{PROGRAMFILES}/GnuWin32/bin
10
	)
11
    ELSE (MSVC)
12
      FIND_PROGRAM(BISON_EXECUTABLE bison)
13
    ENDIF (MSVC)
14
    IF (NOT BISON_EXECUTABLE)
15
16
      MESSAGE(FATAL_ERROR "Bison not found - aborting")
17
18
    ELSE (NOT BISON_EXECUTABLE)
19
20
      EXEC_PROGRAM(${BISON_EXECUTABLE} ARGS --version OUTPUT_VARIABLE BISON_VERSION_STR)
21
      # get first line in case it's multiline
22
      STRING(REGEX REPLACE "([^\n]+).*" "\\1" FIRST_LINE "${BISON_VERSION_STR}")
23
      # get version information
24
      STRING(REGEX REPLACE ".* ([0-9]+)\\.([0-9]+)" "\\1" BISON_VERSION_MAJOR "${FIRST_LINE}")
25
      STRING(REGEX REPLACE ".* ([0-9]+)\\.([0-9]+)" "\\2" BISON_VERSION_MINOR "${FIRST_LINE}")
26
      IF (BISON_VERSION_MAJOR LESS 2)
27
        MESSAGE (FATAL_ERROR "Bison version is too old (${BISON_VERSION_MAJOR}.${BISON_VERSION_MINOR}). Use 2.0 or higher.")
28
      ENDIF (BISON_VERSION_MAJOR LESS 2)
29
30
    ENDIF (NOT BISON_EXECUTABLE)
31
  ENDIF(NOT BISON_EXECUTABLE)
1.1.3 by Francesco Paolo Lovergine
Import upstream version 0.8.1
32
33
ENDMACRO(FIND_BISON)
34
35
MACRO(ADD_BISON_FILES _sources )
1.2.1 by Francesco Paolo Lovergine
Import upstream version 1.4.0+12730
36
  FIND_BISON()
37
38
  FOREACH (_current_FILE ${ARGN})
39
    GET_FILENAME_COMPONENT(_in ${_current_FILE} ABSOLUTE)
40
    GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE)
41
42
    SET(_out ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp)
43
44
45
    # bison options:
46
    # -t add debugging facilities
47
    # -d produce additional header file (used in parser.l)
48
    # -v produce additional *.output file with parser states
49
50
    ADD_CUSTOM_COMMAND(
51
      OUTPUT ${_out}
52
      COMMAND ${BISON_EXECUTABLE}
53
      ARGS
54
      -o${_out} -d -v -t
55
      ${_in}
56
      DEPENDS ${_in}
57
      )
58
59
    SET(${_sources} ${${_sources}} ${_out} )
60
  ENDFOREACH (_current_FILE)
1.1.3 by Francesco Paolo Lovergine
Import upstream version 0.8.1
61
ENDMACRO(ADD_BISON_FILES)