cmake_minimum_required(VERSION 3.22) project(libac C) set(CMAKE_C_STANDARD 11) set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g3 -O0 -fsanitize=address -DDEBUG") set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -fsanitize=address") add_definitions(-D_POSIX_C_SOURCE=200809L) set(CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} "-Wl,--version-script='${CMAKE_SOURCE_DIR}/export.map'") find_package(PkgConfig) pkg_check_modules(json-c REQUIRED json-c) add_library(ac SHARED include/libac.h include/events.h include/requests.h include/common.h include/net.h include/ids.h private/config.h private/serializer.c private/helpers.h private/helpers.c private/serializer.h private/log.c private/log.h private/connection.h wic/include/http_parser.h wic/include/wic.h wic/src/http_parser.c wic/src/wic.c net.c ids.c library.c ) target_include_directories(ac PUBLIC "${PROJECT_BINARY_DIR}" include/ private/ wic/include/) target_link_libraries(ac json-c) add_executable(acronc acronc/main.c ) target_link_libraries(acronc ac) target_include_directories(acronc PUBLIC "${PROJECT_BINARY_DIR}" include/)