@@ -39,10 +39,15 @@ macro(generic_bison name)
3939 COMPILE_FLAGS "${bison_warnings_as_errors} -pyy${name} "
4040 )
4141 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 ()
4651 list (REMOVE_ITEM BISON_parser_OUTPUTS "${BISON_parser_OUTPUT_HEADER} " )
4752 list (APPEND BISON_parser_OUTPUTS "${renamed_parser_header} " )
4853endmacro (generic_bison)
@@ -60,6 +65,13 @@ macro(generic_flex name)
6065 "${CMAKE_CURRENT_BINARY_DIR} /${name} _lex.yy.cpp"
6166 COMPILE_FLAGS "-Pyy${name} "
6267 )
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 ()
6375endmacro (generic_flex)
6476
6577# Set the public include locations for a target.
0 commit comments