cmake_minimum_required(VERSION 3.16) project(image_processor LANGUAGES C) set(CMAKE_C_STANDARD 23) set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) include_directories(include) set(LIB_SOURCES src/transformations.c src/utils.c src/filters.c src/imgio.c ) find_package(PkgConfig REQUIRED) pkg_check_modules(TURBOJPEG REQUIRED IMPORTED_TARGET libturbojpeg) # find_library(TURBOJPEG_LIB NAMES turbojpeg REQUIRED) # find_path(TURBOJPEG_INCLUDE NAMES turbojpeg.h REQUIRED) add_library(PROCESSOR STATIC ${LIB_SOURCES}) target_include_directories(PROCESSOR PUBLIC $ $ PRIVATE ${TURBOJPEG_INCLUDE} ) # target_link_libraries(PROCESSOR PUBLIC ${TURBOJPEG_LIB}) target_link_libraries(PROCESSOR PUBLIC PkgConfig::TURBOJPEG) set_target_properties(PROCESSOR PROPERTIES EXPORT_NAME PROCESSOR) if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) add_executable(image_processor src/main.c) # Assuming you have a main.c target_link_libraries(image_processor PRIVATE PROCESSOR) endif()