diff options
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 2fb0813..e2ceee1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,6 +9,9 @@ set(CMAKE_C_STANDARD 90) set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS OFF) +set(GENERATED_HEADERS_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated_headers") +file(MAKE_DIRECTORY "${GENERATED_HEADERS_DIR}") + add_library(common INTERFACE) target_include_directories(common INTERFACE "src/include" @@ -49,7 +52,8 @@ target_link_options(common INTERFACE ) add_library(aplwc - ${CMAKE_CURRENT_BINARY_DIR}/generated_headers/boot.h + ${GENERATED_HEADERS_DIR}/boot.h + ${GENERATED_HEADERS_DIR}/unicode_tables.h src/lib/eval.c src/lib/main.c src/lib/memory.c @@ -57,19 +61,26 @@ add_library(aplwc src/lib/string.c src/lib/symtab.c src/lib/syntax.c + src/lib/unicode.c ) target_link_libraries(aplwc PRIVATE common) -target_include_directories(aplwc PRIVATE - "${CMAKE_CURRENT_BINARY_DIR}/generated_headers/" -) +target_include_directories(aplwc PRIVATE "${GENERATED_HEADERS_DIR}") add_custom_command( - OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/generated_headers/boot.h" - COMMAND xxd -i -n boot_src "${CMAKE_CURRENT_SOURCE_DIR}/src/lib/boot.aplwc" "${CMAKE_CURRENT_BINARY_DIR}/generated_headers/boot.h" + OUTPUT "${GENERATED_HEADERS_DIR}/boot.h" + COMMAND xxd -i -n boot_src "${CMAKE_CURRENT_SOURCE_DIR}/src/lib/boot.aplwc" "${GENERATED_HEADERS_DIR}/boot.h" DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/src/lib/boot.aplwc" COMMENT "Generate boot.h from boot.aplwc" ) +file(GLOB UNICODE_FILES CONFIGURE_DEPENDS "src/unicode/*.txt") + +add_custom_command( + OUTPUT "${GENERATED_HEADERS_DIR}/unicode_tables.h" + DEPENDS ${UNICODE_FILES} + COMMENT "Generate unicode_tables.h from the unicode files" +) + add_executable(aplwc-repl src/bin/main.c src/bin/util.c |