summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
blob: e8a6e0108c395981fb6389f7e71493fcbf59df6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
cmake_minimum_required(VERSION 3.21)
project(ksyxbot VERSION 1.0 LANGUAGES C CXX)

set(CMAKE_C_STANDARD 99)

configure_file(config.h.in config.h)

IF (CMAKE_BUILD_TYPE MATCHES Debug)
    add_compile_definitions(TD_USE_ASAN)
ENDIF (CMAKE_BUILD_TYPE MATCHES Debug)

add_subdirectory(td)

set(CMAKE_C_FLAGS_DEBUG
        "${CMAKE_C_FLAGS_DEBUG} -g3 -O0 -fsanitize=address")
set(CMAKE_EXE_LINKER_FLAGS_DEBUG
        "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -fsanitize=address")
add_definitions(-D_POSIX_C_SOURCE=200809L)

add_executable(ksyxbotd main.c tdutils.c tdutils.h log.c log.h botd.h db.c db.h cmdline.c store.c logic.h query.c refresh.c stat.c utils.c utils.h)
target_include_directories(ksyxbotd PUBLIC "${PROJECT_BINARY_DIR}")
# Starting from whatever commit, tdsqlite3 functions are all prefixed with 'td', so use system SQLite3 instead.
target_link_libraries(ksyxbotd PRIVATE tdc sqlite3 m)