summaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r--src/CMakeLists.txt27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index e7768d7..e441c55 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,19 +1,44 @@
+add_library(tiny-convmem-base STATIC base/allocator.c)
+target_include_directories(tiny-convmem-base PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
+target_compile_features(tiny-convmem-base PUBLIC c_std_17)
+
+add_library(tiny-convmem-sys STATIC sys/system.c sys/encoding.c)
+target_include_directories(tiny-convmem-sys PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
+target_compile_features(tiny-convmem-sys PUBLIC c_std_17)
+target_link_libraries(tiny-convmem-sys PUBLIC tiny-convmem-base)
+
+if(WIN32)
+ target_link_libraries(tiny-convmem-sys PRIVATE bcrypt shell32)
+endif()
+
add_executable(tiny-convmem-mcp
app/main.c
domain/message.c
domain/search.c
+ storage/codec.c
storage/store.c
mcp/json.c
mcp/server.c
+ mcp/tools/common/common.c
+ mcp/tools/common/context.c
+ mcp/tools/common/registry.c
+ mcp/tools/delete_message.c
+ mcp/tools/get_system_health.c
+ mcp/tools/read_messages.c
+ mcp/tools/rebuild_index.c
+ mcp/tools/search_messages.c
+ mcp/tools/write_message.c
)
target_include_directories(tiny-convmem-mcp PRIVATE
"${CMAKE_CURRENT_SOURCE_DIR}"
"${PROJECT_SOURCE_DIR}/third_party/mcpc/src"
)
-target_link_libraries(tiny-convmem-mcp PRIVATE mcpc::mcpc bcrypt)
+target_link_libraries(tiny-convmem-mcp PRIVATE mcpc::mcpc tiny-convmem-sys)
target_compile_features(tiny-convmem-mcp PRIVATE c_std_17)
if(MSVC)
+ target_compile_options(tiny-convmem-base PRIVATE /utf-8 /W4)
+ target_compile_options(tiny-convmem-sys PRIVATE /utf-8 /W4)
target_compile_options(tiny-convmem-mcp PRIVATE /utf-8 /W4)
endif()