# flex a .ll file INCLUDE(FindFlex) MACRO(ADD_FLEX_FILES _sources ) FIND_PACKAGE(Flex QUIET REQUIRED) FOREACH (_current_FILE ${ARGN}) GET_FILENAME_COMPONENT(_in ${_current_FILE} ABSOLUTE) GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE) SET(_out ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp) ADD_CUSTOM_COMMAND( OUTPUT ${_out} COMMAND ${FLEX_EXECUTABLE} ARGS -o${_out} ${_in} DEPENDS ${_in} ) SET(${_sources} ${${_sources}} ${_out} ) ENDFOREACH (_current_FILE) ENDMACRO(ADD_FLEX_FILES)