From ef8cf84456a70cd1376ab6ba72681472e0a50fe5 Mon Sep 17 00:00:00 2001 From: laentropia Date: Sat, 11 Apr 2026 22:41:19 -0600 Subject: [PATCH] addition: added arena library --- CMakeLists.txt | 27 ++++++++++++++++++++++++++- external/arena | 1 + 2 files changed, 27 insertions(+), 1 deletion(-) create mode 160000 external/arena diff --git a/CMakeLists.txt b/CMakeLists.txt index 79429ed..a64adf4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,6 +3,14 @@ project(calculator VERSION 1.0 LANGUAGES C) set(CMAKE_C_STANDARD 11) set(CMAKE_C_STANDARD_REQUIRED ON) +include(FetchContent) + +FetchContent_Declare( + arena + GIT_REPOSITORY https://laentropia-homelab.tail7368da.ts.net/laentropia/Arena.git + GIT_TAG main + SOURCE_DIR ${CMAKE_SOURCE_DIR}/external/arena +) # Export compile_commands.json (para clangd) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) @@ -14,12 +22,29 @@ add_compile_options( ) -include_directories(include) +FetchContent_MakeAvailable(arena) + +add_library(arena STATIC + external/arena/src/arena.c +) + +target_include_directories(arena + PUBLIC ${CMAKE_SOURCE_DIR}/external/arena/include +) add_library(calculator_lib src/lexer.c src/parser.c src/evaluator.c + src/ASTNodeArray.c +) + +target_include_directories(calculator_lib + PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include +) + +target_link_libraries(calculator_lib + PUBLIC arena ) add_executable(calculator src/main.c) diff --git a/external/arena b/external/arena new file mode 160000 index 0000000..3d3b859 --- /dev/null +++ b/external/arena @@ -0,0 +1 @@ +Subproject commit 3d3b8596ccf2e31983c0c83eb36572a1e4399ec4