
add_library(lmsimage SHARED
	)

target_include_directories(lmsimage INTERFACE
	include
	)

target_include_directories(lmsimage PRIVATE
	include
	impl
	)

target_link_libraries(lmsimage PUBLIC
	lmsutils
	std::filesystem
	)

if (IMAGE_LIBRARY STREQUAL STB)
	target_sources(lmsimage PRIVATE
		impl/stb/JPEGImage.cpp
		impl/stb/RawImage.cpp
		)
	target_compile_options(lmsimage PRIVATE "-DLMS_SUPPORT_IMAGE_STB")
	target_include_directories(lmsimage PRIVATE ${STB_INCLUDE_DIR})
elseif (IMAGE_LIBRARY STREQUAL GraphicsMagick++)
	target_sources(lmsimage PRIVATE
		impl/graphicsmagick/JPEGImage.cpp
		impl/graphicsmagick/RawImage.cpp
		)
	target_compile_options(lmsimage PRIVATE "-DLMS_SUPPORT_IMAGE_GM")
	target_link_libraries(lmsimage PRIVATE PkgConfig::GraphicsMagick++)
else ()
	message(FATAL_ERROR "Invalid IMAGE_LIBRARY provided")
endif()

install(TARGETS lmsimage DESTINATION ${CMAKE_INSTALL_LIBDIR})

