From 50d17af073b06f40babffe11928581354e8345bd Mon Sep 17 00:00:00 2001 From: Andrew Haynes Date: Sun, 22 Mar 2026 17:41:31 -0400 Subject: [PATCH] API: updated CMAKELISTS for static linking --- CMakeLists.txt | 24 ++++++++++++++++-------- include/{ => image}/filters.h | 0 include/{ => image}/imgio.h | 0 include/{ => image}/transformations.h | 0 include/{ => image}/utils.h | 0 5 files changed, 16 insertions(+), 8 deletions(-) rename include/{ => image}/filters.h (100%) rename include/{ => image}/imgio.h (100%) rename include/{ => image}/transformations.h (100%) rename include/{ => image}/utils.h (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4d02ea3..92806f4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,24 +1,32 @@ 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) -project(image_processor LANGUAGES C) -set(SOURCES - src/main.c +include_directories(include) + +set(LIB_SOURCES src/transformations.c src/utils.c src/filters.c src/imgio.c - ) +find_package(PkgConfig REQUIRED) find_library(TURBOJPEG_LIB NAMES turbojpeg REQUIRED) find_path(TURBOJPEG_INCLUDE NAMES turbojpeg.h REQUIRED) -add_executable(image_processor ${SOURCES}) +add_library(PROCESSOR STATIC ${LIB_SOURCES}) -target_include_directories(image_processor PRIVATE ${TURBOJPEG_INCLUDE}) +target_include_directories(PROCESSOR + PUBLIC + $ + $ + PRIVATE + ${TURBOJPEG_INCLUDE} +) -target_link_libraries(image_processor PRIVATE ${TURBOJPEG_LIB}) +target_link_libraries(PROCESSOR PUBLIC ${TURBOJPEG_LIB}) +set_target_properties(PROCESSOR PROPERTIES EXPORT_NAME PROCESSOR) diff --git a/include/filters.h b/include/image/filters.h similarity index 100% rename from include/filters.h rename to include/image/filters.h diff --git a/include/imgio.h b/include/image/imgio.h similarity index 100% rename from include/imgio.h rename to include/image/imgio.h diff --git a/include/transformations.h b/include/image/transformations.h similarity index 100% rename from include/transformations.h rename to include/image/transformations.h diff --git a/include/utils.h b/include/image/utils.h similarity index 100% rename from include/utils.h rename to include/image/utils.h