Parsodus/examples/calc/CMakeLists.txt

20 lines
880 B
CMake

add_custom_command(DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/calcLexer.lxs"
COMMAND "${LEXESIS_EXE}" ARGS -d "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/calcLexer.lxs"
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/CalcLexer.h" "${CMAKE_CURRENT_BINARY_DIR}/CalcLexer.cpp")
find_program(PARSODUS_EXE Parsodus PATH "${CMAKE_CURRENT_BINARY_DIR}/../../bin")
add_custom_command(DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/calcParser.pds"
COMMAND "${PARSODUS_EXE}" ARGS -d "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/calcParser.pds"
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/calcParser.h" "${CMAKE_CURRENT_BINARY_DIR}/calcParser.cpp")
include_directories("${CMAKE_CURRENT_BINARY_DIR}")
add_executable(calc
EXCLUDE_FROM_ALL
main.cpp
parser.cpp
AST.cpp
"${CMAKE_CURRENT_BINARY_DIR}/CalcLexer.cpp"
"${CMAKE_CURRENT_BINARY_DIR}/calcParser.cpp")