summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt23
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