diff --git a/CMakeLists.txt b/CMakeLists.txt index 0a391bb..a58bc77 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,6 +3,17 @@ project(pas) set(CMAKE_CXX_STANDARD 11) +find_package(BISON REQUIRED) +find_package(FLEX REQUIRED) + +bison_target(p16Parser src/p16.ypp ${CMAKE_CURRENT_BINARY_DIR}/p16.tab.cpp) +flex_target(p16Scanner src/p16.l ${CMAKE_CURRENT_BINARY_DIR}/p16.lex.cpp) + +ADD_FLEX_BISON_DEPENDENCY(p16Scanner p16Parser) + +include_directories(${CMAKE_CURRENT_BINARY_DIR}) +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src) + add_executable(pas src/cpp_printf.cpp src/cpp_printf.h @@ -15,8 +26,8 @@ add_executable(pas src/p16.h src/p16.l src/p16.ypp - src/p16.tab.cpp - src/p16.lex.cpp + ${BISON_p16Parser_OUTPUTS} + ${FLEX_p16Scanner_OUTPUTS} src/instruction.cpp src/instruction.h src/listing_generator.h