CMakeLists.txt 650 Bytes
Newer Older
lyz's avatar
lyz committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
flex_target(lex lexical_analyzer.l ${CMAKE_CURRENT_BINARY_DIR}/lexical_analyzer.c)
bison_target(syntax syntax_analyzer.y
  ${CMAKE_CURRENT_BINARY_DIR}/syntax_analyzer.c
  DEFINES_FILE ${PROJECT_BINARY_DIR}/syntax_analyzer.h)

add_flex_bison_dependency(lex syntax)
add_library(syntax STATIC
  ${BISON_syntax_OUTPUTS}
  ${FLEX_lex_OUTPUTS}
)

include_directories(${PROJECT_BINARY_DIR})
add_executable(parser parser.c)
target_link_libraries(parser syntax common)
add_executable(lexer lexer.c)
target_link_libraries(lexer syntax common)

install(
    TARGETS parser
    RUNTIME DESTINATION bin
)

install(
    TARGETS lexer
    RUNTIME DESTINATION bin
)