summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
blob: ca15a2fab858712064f34e0ff235b11619c290c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
cmake_minimum_required(VERSION 3.25)

project(
  tiny-convmem-mcp
  VERSION 0.1.0
  DESCRIPTION "A tiny MCP server for conversation memory"
  LANGUAGES C
)

set(CMAKE_C_STANDARD 17)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS OFF)

option(TINY_CONVMEM_ENABLE_ASAN "Enable AddressSanitizer for project and tests" OFF)
if(TINY_CONVMEM_ENABLE_ASAN)
  if(NOT MSVC)
    message(FATAL_ERROR "TINY_CONVMEM_ENABLE_ASAN currently supports MSVC only")
  endif()
  string(REPLACE "/RTC1" "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
  add_compile_options(/fsanitize=address /Oy-)
  add_link_options(/INCREMENTAL:NO)
endif()

include(CTest)
include(cmake/mcpc.cmake)

add_subdirectory(src)

if(BUILD_TESTING)
  add_subdirectory(tests)
endif()