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 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()