20 lines
880 B
CMake
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")
|