diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2015-11-03 22:31:27 -0700 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2015-11-03 22:39:35 -0700 |
| commit | 7cfceeca2d5965baf6dcd45f07ebeaedbe48856f (patch) | |
| tree | f0622d35db9fb0208343016230af0a7889f66391 /CMakeLists.txt | |
| parent | 303823b6b8b250580d644bacce5285efda76b731 (diff) | |
| download | zig-7cfceeca2d5965baf6dcd45f07ebeaedbe48856f.tar.gz zig-7cfceeca2d5965baf6dcd45f07ebeaedbe48856f.zip | |
parser generator beginnings
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 356ff6d3cb..7c8deec0d7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,10 +20,21 @@ include_directories( ${CMAKE_BINARY_DIR} ) +set(GRAMMAR_TXT "${CMAKE_BINARY_DIR}/simple.txt") +set(PARSER_CPP "${CMAKE_BINARY_DIR}/parser.cpp") + set(ZIG_SOURCES "${CMAKE_SOURCE_DIR}/src/main.cpp" "${CMAKE_SOURCE_DIR}/src/util.cpp" "${CMAKE_SOURCE_DIR}/src/buffer.cpp" + "${CMAKE_SOURCE_DIR}/src/tokenizer.cpp" + ${PARSER_CPP} +) + +set(PARSERGEN_SOURCES + "${CMAKE_SOURCE_DIR}/src/parsergen.cpp" + "${CMAKE_SOURCE_DIR}/src/util.cpp" + "${CMAKE_SOURCE_DIR}/src/buffer.cpp" ) set(CONFIGURE_OUT_FILE "${CMAKE_BINARY_DIR}/config.h") @@ -49,3 +60,16 @@ target_link_libraries(zig LINK_PUBLIC ${LLVM_LIBRARIES} ) install(TARGETS zig DESTINATION bin) + +add_executable(parsergen ${PARSERGEN_SOURCES}) +set_target_properties(parsergen PROPERTIES + LINKER_LANGUAGE C + COMPILE_FLAGS ${EXE_CFLAGS}) + + +add_custom_command( + OUTPUT ${PARSER_CPP} + COMMAND parsergen ARGS ${GRAMMAR_TXT} ${PARSER_CPP} + DEPENDS ${GRAMMAR_TXT} ${PARSERGEN_SOURCES} + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} +) |
