@@ -39,10 +39,15 @@ macro(generic_bison name)
39
39
COMPILE_FLAGS "${bison_warnings_as_errors} -pyy${name} "
40
40
)
41
41
set (renamed_parser_header "${CMAKE_CURRENT_BINARY_DIR} /${bison_header} " )
42
- add_custom_command (OUTPUT "${renamed_parser_header} "
43
- COMMAND "${CMAKE_COMMAND} " -E copy "${BISON_parser_OUTPUT_HEADER} " "${renamed_parser_header} "
44
- MAIN_DEPENDENCY "${BISON_parser_OUTPUT_HEADER} "
45
- )
42
+ if (${SED} STREQUAL "SED-NOTFOUND" )
43
+ add_custom_command (OUTPUT "${renamed_parser_header} "
44
+ COMMAND "${CMAKE_COMMAND} " -E copy "${BISON_parser_OUTPUT_HEADER} " "${renamed_parser_header} "
45
+ MAIN_DEPENDENCY "${BISON_parser_OUTPUT_HEADER} " )
46
+ else ()
47
+ add_custom_command (OUTPUT "${renamed_parser_header} "
48
+ COMMAND ${SED} -e "s,enum yytokentype,enum yytokentype_${name} ," <${BISON_parser_OUTPUT_HEADER} >${renamed_parser_header}
49
+ MAIN_DEPENDENCY "${BISON_parser_OUTPUT_HEADER} " )
50
+ endif ()
46
51
list (REMOVE_ITEM BISON_parser_OUTPUTS "${BISON_parser_OUTPUT_HEADER} " )
47
52
list (APPEND BISON_parser_OUTPUTS "${renamed_parser_header} " )
48
53
endmacro (generic_bison)
@@ -60,6 +65,13 @@ macro(generic_flex name)
60
65
"${CMAKE_CURRENT_BINARY_DIR} /${name} _lex.yy.cpp"
61
66
COMPILE_FLAGS "-Pyy${name} "
62
67
)
68
+ if (NOT ${SED} STREQUAL "SED-NOTFOUND" )
69
+ set (new_flex_source "${CMAKE_CURRENT_BINARY_DIR} /${name} _lex_sed.yy.cpp" )
70
+ add_custom_command (OUTPUT "${new_flex_source} "
71
+ COMMAND ${SED} -e "s,struct yyguts_t,struct yy${name} guts_t,g" <${FLEX_scanner_OUTPUTS} >${new_flex_source}
72
+ MAIN_DEPENDENCY "${FLEX_scanner_OUTPUTS} " )
73
+ set (FLEX_scanner_OUTPUTS "${new_flex_source} " )
74
+ endif ()
63
75
endmacro (generic_flex)
64
76
65
77
# Set the public include locations for a target.
0 commit comments