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)