API: updated CMAKELISTS for static linking

This commit is contained in:
Andrew Haynes
2026-03-22 17:41:31 -04:00
parent 64cf77bbe3
commit 50d17af073
5 changed files with 16 additions and 8 deletions
+16 -8
View File
@@ -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
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
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)