Mercurial > hg > freeDiameter
annotate cmake/Modules/CMakeUserUseFlex.cmake @ 1534:c83e60f28632
dict_dcca_3gpp: simplify rule creation
Refactor local_rules_definition to simplify rule creation
(to avoid c99 struct initialisers that result in long lines).
No change to generated rules.
author | Luke Mewburn <luke@mewburn.net> |
---|---|
date | Mon, 20 Apr 2020 12:12:42 +1000 |
parents | ad3c46016584 |
children |
rev | line source |
---|---|
0 | 1 # - Look for GNU flex, the lexer generator. |
2 # Defines the following: | |
3 # FLEX_EXECUTABLE - path to the flex executable | |
4 # FLEX_FILE - parse a file with flex | |
5 # FLEX_PREFIX_OUTPUTS - Set to true to make FLEX_FILE produce outputs of | |
6 # lex.${filename}.c, not lex.yy.c . Passes -P to flex. | |
7 | |
8 IF(NOT DEFINED FLEX_PREFIX_OUTPUTS) | |
9 SET(FLEX_PREFIX_OUTPUTS FALSE) | |
10 ENDIF(NOT DEFINED FLEX_PREFIX_OUTPUTS) | |
11 | |
12 IF(NOT FLEX_EXECUTABLE) | |
13 MESSAGE(STATUS "Looking for flex") | |
14 FIND_PROGRAM(FLEX_EXECUTABLE flex) | |
15 IF(FLEX_EXECUTABLE) | |
16 MESSAGE(STATUS "Looking for flex -- ${FLEX_EXECUTABLE}") | |
17 ENDIF(FLEX_EXECUTABLE) | |
304
ad3c46016584
Added install directives for cmake; also allow default directory to seek for extensions and configuration files
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
0
diff
changeset
|
18 MARK_AS_ADVANCED(FLEX_EXECUTABLE) |
0 | 19 ENDIF(NOT FLEX_EXECUTABLE) |
20 | |
21 IF(FLEX_EXECUTABLE) | |
22 MACRO(FLEX_FILE FILENAME) | |
23 GET_FILENAME_COMPONENT(PATH "${FILENAME}" PATH) | |
24 IF("${PATH}" STREQUAL "") | |
25 SET(PATH_OPT "") | |
26 ELSE("${PATH}" STREQUAL "") | |
27 SET(PATH_OPT "/${PATH}") | |
28 ENDIF("${PATH}" STREQUAL "") | |
29 IF(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}${PATH_OPT}") | |
30 FILE(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}${PATH_OPT}") | |
31 ENDIF(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}${PATH_OPT}") | |
32 IF(FLEX_PREFIX_OUTPUTS) | |
33 GET_FILENAME_COMPONENT(PREFIX "${FILENAME}" NAME_WE) | |
34 ELSE(FLEX_PREFIX_OUTPUTS) | |
35 SET(PREFIX "yy") | |
36 ENDIF(FLEX_PREFIX_OUTPUTS) | |
37 SET(OUTFILE "${CMAKE_CURRENT_BINARY_DIR}${PATH_OPT}/lex.${PREFIX}.c") | |
38 ADD_CUSTOM_COMMAND( | |
39 OUTPUT "${OUTFILE}" | |
40 COMMAND "${FLEX_EXECUTABLE}" | |
41 ARGS "-P${PREFIX}" | |
42 "-o${OUTFILE}" | |
43 "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}" | |
44 DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}") | |
45 SET_SOURCE_FILES_PROPERTIES("${OUTFILE}" PROPERTIES GENERATED TRUE) | |
46 ENDMACRO(FLEX_FILE) | |
47 ENDIF(FLEX_EXECUTABLE) |