Hello Juan,<br><br>Several years ago, I wrote some cmake rules to work with lex and yacc on<br>Linux and windows.<br><br>Hop it will help you.<br><br>Andre E.<br><br>Below the macro :<br><br><br>#<br># here, I will put some macro <br>
# for flex and yacc transformation<br># <br># Author   EBERSOLD Andre<br># Created  6/7/2007<br>#<br>IF(UNIX)<br>    SET(LEXER &quot;flex&quot; CACHE STRING &quot;flex parser&quot;)<br>    SET(BISON &quot;bison&quot; CACHE STRING &quot;yacc parser&quot;)<br>
ELSE(UNIX)<br>    SET(LEXER &quot;c:\\tools\\bison\\flex.exe&quot; CACHE STRING &quot;flex parser&quot;)<br>    SET(BISON &quot;c:\\tools\\bison\\bison.exe&quot; CACHE STRING &quot;yacc parser&quot;)<br>ENDIF(UNIX)<br><br>
#<br>#<br>#<br>MACRO(LEXGEN file)<br><br>ADD_CUSTOM_COMMAND(SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/${file}.l <br>        COMMAND ${LEXER} <br>        ARGS  -olds_lexer.c ${CMAKE_CURRENT_SOURCE_DIR}/${file}.l<br>#        TARGET ${CMAKE_CURRENT_BINARY_DIR}/${file}.c<br>
        OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${file}.c<br>        COMMENT &quot;lex files&quot;)<br><br>SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/${file}.c GENERATED)<br><br>ENDMACRO(LEXGEN file)<br><br>MACRO(BISONGEN file)<br>
   ADD_CUSTOM_COMMAND(SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/${file}.y<br>        COMMAND ${BISON} <br>        ARGS    -d ${CMAKE_CURRENT_SOURCE_DIR}/${file}.y --output=${file}.c<br>#        TARGET ${CMAKE_CURRENT_BINARY_DIR}/${file}.c<br>
        OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${file}.c<br>        COMMENT &quot;yacc files&quot;)<br><br>        SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/${file}.c GENERATED)<br>ENDMACRO(BISONGEN file)<br><br>
<br><br>If you don&#39;t plan to use macro ... You can write  rules like this :<br><br>SET(LEXER &quot;c:\\tools\\bison\\flex.exe&quot; CACHE STRING &quot;flex parser&quot;)<br>SET(BISON &quot;c:\\tools\\bison\\bison.exe&quot; CACHE STRING &quot;yacc parser&quot;)<br>
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})<br>INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})<br><br>ADD_CUSTOM_COMMAND(SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/jumli_lexer.l<br>                   COMMAND ${LEXER}<br>                   ARGS -ojumli_lexer.c ${CMAKE_CURRENT_SOURCE_DIR}/jumli_lexer.l<br>
                   TARGET ${CMAKE_CURRENT_BINARY_DIR}/jumli_lexer.c<br>                   OUTPUTS ${CMAKE_CURRENT_BINARY_DIR}/jumli_lexer.c<br>                  )<br>ADD_CUSTOM_COMMAND(SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/jumli_parser.y<br>
                   COMMAND ${BISON}<br>                   ARGS --output jumli_parser.c -d ${CMAKE_CURRENT_SOURCE_DIR}/jumli_parser.y<br>                   TARGET ${CMAKE_CURRENT_BINARY_DIR}/jumli_parser.c<br>                   OUTPUTS ${CMAKE_CURRENT_BINARY_DIR}/jumli_parser.c<br>
                  )<br><br>SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/jumli_parser.c GENERATED)<br>SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/jumli_lexer.c GENERATED)<br><br><br><br><div class="gmail_quote">
On Sat, Feb 28, 2009 at 1:37 AM, j s <span dir="ltr">&lt;<a href="mailto:j.s4403@gmail.com">j.s4403@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br><br>Are there packages for finding Flex and Bison available?  I&#39;m starting a porting effort to windows, and I am hoping there is a way for these to work in visual studio?<br><br>Regards,<br><br>Juan<br>
<br>_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the CMake FAQ at: <a href="http://www.cmake.org/Wiki/CMake_FAQ" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.cmake.org/mailman/listinfo/cmake" target="_blank">http://www.cmake.org/mailman/listinfo/cmake</a><br></blockquote></div><br><br clear="all"><br>-- <br>EBERSOLD Andre<br>Senior Software Engineer<br>