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) add_library(PROCESSOR STATIC ${LIB_SOURCES}) target_include_directories(PROCESSOR PUBLIC $ $ PRIVATE ${TURBOJPEG_INCLUDE} ) 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() # Bottom of image_processor/CMakeLists.txt install(TARGETS PROCESSOR DESTINATION lib) install(DIRECTORY include/ DESTINATION include)