diff --git a/src/cmake/Config.cmake.in b/src/cmake/Config.cmake.in index 080a499968..94e1924a6d 100644 --- a/src/cmake/Config.cmake.in +++ b/src/cmake/Config.cmake.in @@ -20,6 +20,16 @@ if (NOT @BUILD_SHARED_LIBS@) # This is required in static library builds, as e.g. PNG::PNG appears among # INTERFACE_LINK_LIBRARIES. If the project does not know about PNG target, it will cause # configuration error about unknown targets being linked in. + # Static libtiff configs may reference this target without importing it. + # https://gitlab.com/libtiff/libtiff/-/work_items/871 + if (NOT TARGET Deflate::Deflate) + find_package (libdeflate CONFIG QUIET) + if (TARGET libdeflate::libdeflate_static) + add_library (Deflate::Deflate ALIAS libdeflate::libdeflate_static) + elseif (TARGET libdeflate::libdeflate_shared) + add_library (Deflate::Deflate ALIAS libdeflate::libdeflate_shared) + endif () + endif () find_dependency(TIFF) find_dependency(OpenColorIO) if (@JPEG_FOUND@) diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake index 107b8ad255..46db62798c 100644 --- a/src/cmake/externalpackages.cmake +++ b/src/cmake/externalpackages.cmake @@ -90,6 +90,14 @@ endif () checked_find_package (libuhdr VERSION_MIN 1.3) +# Static libtiff configs may reference this target without importing it. +# https://gitlab.com/libtiff/libtiff/-/work_items/871 +if (NOT TARGET Deflate::Deflate) + find_package (libdeflate CONFIG QUIET) + alias_library_if_not_exists (Deflate::Deflate libdeflate::libdeflate_static) + alias_library_if_not_exists (Deflate::Deflate libdeflate::libdeflate_shared) +endif () + checked_find_package (TIFF REQUIRED VERSION_MIN 4.0 RECOMMEND_MIN 4.5