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)
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
        $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
        $<INSTALL_INTERFACE:include>
        PRIVATE
        ${TURBOJPEG_INCLUDE}
)

target_link_libraries(PROCESSOR PUBLIC ${TURBOJPEG_LIB})
set_target_properties(PROCESSOR PROPERTIES EXPORT_NAME PROCESSOR)
