[CMake] Bison extra headers
Hilton Medeiros
medeiros.hilton at gmail.com
Thu Feb 11 07:57:44 EST 2010
Hello,
I'm using bison_target() from FindBISON with the C++ bison interface,
on CMake 2.8.0. When using this interface the following extra files
are generated by bison:
location.hh
position.hh
stack.hh
They do not get listed in BISON_target_OUTPUTS and do not get erased in
'make clean'.
See here:
http://www.gnu.org/software/bison/manual/html_node/C_002b_002b-Bison-Interface.html
Note that this manual seems outdated, there is no 'lalr1.c' for me,
only 'lalr1.cc' on bison 2.4.1. Anyway, this is a very small issue,
this is the workaround I'm using:
set (BISON_EXTRA_HEADERS
${PROJECT_BINARY_DIR}/position.hh
${PROJECT_BINARY_DIR}/location.hh
${PROJECT_BINARY_DIR}/stack.hh
)
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES
"${BISON_EXTRA_HEADERS}")
By the way, I saw that the main header file generated on
bison_target() is always terminated by '.hpp'. I tried to bypass this
with:
bison_target (PARSER ${PARSER_FILE} ${PROJECT_BINARY_DIR}/Parser.cpp
COMPILE_FLAGS --defines="${PROJECT_BINARY_DIR}/Parser.h")
But then both Parser.hpp and Parser.h are generated. But this is also a
very small issue.
Finally, thanks a lot for supporting bison and flex in CMake.
Kind regards,
visibility guy
More information about the CMake
mailing list