Skip to content

Commit 3db878d

Browse files
committed
[system] Add better flex dependencies to force regeneration with newer flex version
1 parent 590072c commit 3db878d

File tree

1 file changed

+35
-28
lines changed

1 file changed

+35
-28
lines changed

Modules/flex.cmake

+35-28
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,35 @@
1-
# flex a .l file
2-
3-
# search flex
4-
MACRO(FIND_FLEX)
5-
IF(NOT FLEX_EXECUTABLE)
6-
FIND_PROGRAM(FLEX_EXECUTABLE flex)
7-
IF (NOT FLEX_EXECUTABLE)
8-
MESSAGE(FATAL_ERROR "flex not found - aborting")
9-
ENDIF (NOT FLEX_EXECUTABLE)
10-
ENDIF(NOT FLEX_EXECUTABLE)
11-
ENDMACRO(FIND_FLEX)
12-
13-
MACRO(ADD_FLEX_FILES _sources )
14-
FIND_FLEX()
15-
FOREACH (_current_FILE ${ARGN})
16-
GET_FILENAME_COMPONENT(_in ${_current_FILE} ABSOLUTE)
17-
GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE)
18-
SET(_out ${CMAKE_CURRENT_BINARY_DIR}/flex_${_basename}.cc)
19-
ADD_CUSTOM_COMMAND(
20-
OUTPUT ${_out}
21-
COMMAND ${FLEX_EXECUTABLE}
22-
ARGS -o${_out} ${_in}
23-
DEPENDS ${_in} )
24-
SET(${_sources} ${${_sources}} ${_out} )
25-
ENDFOREACH (_current_FILE)
26-
ENDMACRO(ADD_FLEX_FILES)
27-
28-
1+
# flex a .l file
2+
3+
# search flex
4+
MACRO(FIND_FLEX)
5+
IF(NOT FLEX_EXECUTABLE)
6+
FIND_PROGRAM(FLEX_EXECUTABLE flex)
7+
IF (NOT FLEX_EXECUTABLE)
8+
MESSAGE(FATAL_ERROR "flex not found - aborting")
9+
ENDIF (NOT FLEX_EXECUTABLE)
10+
ENDIF(NOT FLEX_EXECUTABLE)
11+
12+
IF(NOT FLEX_INCLUDE_DIR)
13+
FIND_PATH(FLEX_INCLUDE_DIR FlexLexer.h)
14+
IF (NOT FLEX_INCLUDE_DIR)
15+
MESSAGE(FATAL_ERROR "FlexLexer.h not found - aborting")
16+
ENDIF (NOT FLEX_INCLUDE_DIR)
17+
ENDIF (NOT FLEX_INCLUDE_DIR)
18+
ENDMACRO(FIND_FLEX)
19+
20+
MACRO(ADD_FLEX_FILES _sources)
21+
FIND_FLEX()
22+
FOREACH (_current_FILE ${ARGN})
23+
GET_FILENAME_COMPONENT(_in ${_current_FILE} ABSOLUTE)
24+
GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE)
25+
SET(_out ${CMAKE_CURRENT_BINARY_DIR}/flex_${_basename}.cc)
26+
ADD_CUSTOM_COMMAND(
27+
OUTPUT ${_out}
28+
COMMAND ${FLEX_EXECUTABLE}
29+
ARGS -o${_out} ${_in}
30+
DEPENDS ${_in} ${FLEX_EXECUTABLE} ${FLEX_INCLUDE_DIR}/FlexLexer.h)
31+
SET(${_sources} ${${_sources}} ${_out})
32+
ENDFOREACH (_current_FILE)
33+
ENDMACRO(ADD_FLEX_FILES)
34+
35+

0 commit comments

Comments
 (0)