File: flex.cmake

package info (click to toggle)
gtkpod 2.1.5-10
  • links: PTS
  • area: main
  • in suites: bookworm
  • size: 19,424 kB
  • sloc: ansic: 51,604; xml: 16,135; sh: 11,916; cpp: 7,545; perl: 1,449; makefile: 1,380; lex: 638; awk: 73; python: 35
file content (28 lines) | stat: -rw-r--r-- 839 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# flex a .l file

# search flex
MACRO(FIND_FLEX)
    IF(NOT FLEX_EXECUTABLE)
        FIND_PROGRAM(FLEX_EXECUTABLE flex)
        IF (NOT FLEX_EXECUTABLE)
          MESSAGE(FATAL_ERROR "flex not found - aborting")
        ENDIF (NOT FLEX_EXECUTABLE)
    ENDIF(NOT FLEX_EXECUTABLE)
ENDMACRO(FIND_FLEX)

MACRO(ADD_FLEX_FILES _sources )
    FIND_FLEX()
    FOREACH (_current_FILE ${ARGN})
	    GET_FILENAME_COMPONENT(_in ${_current_FILE} ABSOLUTE)
	    GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE)
	    SET(_out ${CMAKE_CURRENT_BINARY_DIR}/flex_${_basename}.c)
	    ADD_CUSTOM_COMMAND(
		    OUTPUT ${_out}
		    COMMAND ${FLEX_EXECUTABLE}
		      ARGS -t ${_in} > ${_out}
		      DEPENDS ${_in} )
	    SET(${_sources} ${${_sources}} ${_out} )
    ENDFOREACH (_current_FILE)
ENDMACRO(ADD_FLEX_FILES)