diff --git a/cmake/Lcms2Options.cmake b/cmake/Lcms2Options.cmake index dfc28606..b3882a81 100644 --- a/cmake/Lcms2Options.cmake +++ b/cmake/Lcms2Options.cmake @@ -9,6 +9,7 @@ function(lcms2_setup_options) # Tool-specific toggles (only meaningful when LCMS2_BUILD_TOOLS=ON). option(LCMS2_BUILD_JPGICC "Build jpgicc tool (requires JPEG)" ON) option(LCMS2_BUILD_TIFICC "Build tificc tool (requires TIFF, optionally ZLIB)" ON) + option(LCMS2_BUILD_TIFFDIFF "Build tiffdiff tool (requires TIFF)" ON) # Dependency toggles (only consulted when the dependent tool is enabled). option(LCMS2_WITH_JPEG "Enable JPEG support for tools (find_package only when needed)" ON) diff --git a/cmake/Lcms2Tools.cmake b/cmake/Lcms2Tools.cmake index e1737031..73028e28 100644 --- a/cmake/Lcms2Tools.cmake +++ b/cmake/Lcms2Tools.cmake @@ -141,6 +141,30 @@ function(lcms2_add_tools) endif() endif() + # Optional tiffdiff (requires TIFF). + if(LCMS2_BUILD_TIFFDIFF) + if(LCMS2_WITH_TIFF) + find_package(TIFF) + endif() + + if(TIFF_FOUND) + _lcms2_add_tool(tiffdiff + SOURCES + "${PROJECT_SOURCE_DIR}/utils/tificc/tifdiff.c" + ${_common_sources} + ) + if(TARGET TIFF::TIFF) + target_link_libraries(tiffdiff PRIVATE TIFF::TIFF) + else() + # Do not quote list variables: they may contain debug/optimized keywords. + target_include_directories(tiffdiff PRIVATE ${TIFF_INCLUDE_DIR}) + target_link_libraries(tiffdiff PRIVATE ${TIFF_LIBRARIES}) + endif() + else() + message(STATUS "TIFF not found or disabled; skipping tiffdiff") + endif() + endif() + # Manpages (install handled by packaging module). set(_manpages "${PROJECT_SOURCE_DIR}/utils/jpgicc/jpgicc.1"