diff -u -r a/src/cmake/Config.cmake.in b/src/cmake/Config.cmake.in --- a/src/cmake/Config.cmake.in +++ b/src/cmake/Config.cmake.in @@ -6,6 +6,27 @@ include(CMakeFindDependencyMacro) +find_dependency(Boost COMPONENTS @Boost_COMPONENTS@) +if(@USE_GIF@) + find_dependency(GIF) +endif() +if(@USE_LIBHEIF@) + find_dependency(libheif CONFIG) +endif() +find_dependency(PNG) +if(@USE_OPENCV@) + find_dependency(OpenCV CONFIG) +endif() +if(@USE_OPENCOLORIO@) + find_dependency(OpenColorIO CONFIG) +endif() +if(@USE_OPENJPEG@) + find_dependency(OpenJPEG CONFIG) +endif() +if(@USE_WEBP@) + find_dependency(WebP CONFIG) +endif() + # add here all the find_dependency() whenever switching to config based dependencies if (NOT @OPENIMAGEIO_CONFIG_DO_NOT_FIND_IMATH@ AND NOT OPENIMAGEIO_CONFIG_DO_NOT_FIND_IMATH) if (@OpenEXR_VERSION@ VERSION_GREATER_EQUAL 3.0) diff -u -r a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake --- a/src/cmake/externalpackages.cmake +++ b/src/cmake/externalpackages.cmake @@ -177,10 +177,13 @@ checked_find_package (Freetype DEFINITIONS -DUSE_FREETYPE=1 ) -checked_find_package (OpenColorIO +set(OPENCOLORIO_INCLUDES "") +set(OPENCOLORIO_LIBRARIES OpenColorIO::OpenColorIO) +checked_find_package (OpenColorIO CONFIG DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 # PREFER_CONFIG ) +set(OPENCOLORIO_FOUND "${OpenColorIO_FOUND}") if (OpenColorIO_FOUND) option (OIIO_DISABLE_BUILTIN_OCIO_CONFIGS "For deveoper debugging/testing ONLY! Disable OCIO 2.2 builtin configs." OFF) @@ -191,7 +194,9 @@ set (OpenColorIO_FOUND 0) endif () -checked_find_package (OpenCV 3.0 +set(OPENCV_INCLUDES "") +set(OPENCV_LIBRARIES opencv_core) +checked_find_package (OpenCV CONFIG DEFINITIONS -DUSE_OPENCV=1) # Intel TBB @@ -205,12 +210,16 @@ PREFER_CONFIG) -checked_find_package (FFmpeg VERSION_MIN 3.0) +checked_find_package (FFmpeg) +set(FFmpeg_FOUND "${FFMPEG_FOUND}") +set(FFMPEG_INCLUDES "${FFMPEG_INCLUDE_DIRS}") checked_find_package (GIF VERSION_MIN 4 RECOMMEND_MIN 5.0 RECOMMEND_MIN_REASON "for stability and thread safety") # For HEIF/HEIC/AVIF formats +set(LIBHEIF_INCLUDES "") +set(LIBHEIF_LIBRARIES heif) checked_find_package (Libheif VERSION_MIN 1.3 RECOMMEND_MIN 1.16 RECOMMEND_MIN_REASON "for orientation support") @@ -231,9 +240,8 @@ # set (LIBRAW_FOUND 0) endif () -checked_find_package (OpenJPEG VERSION_MIN 2.0 - RECOMMEND_MIN 2.2 - RECOMMEND_MIN_REASON "for multithreading support") +set(CMAKE_REQUIRE_FIND_PACKAGE_OpenJPEG ${USE_OPENJPEG}) +checked_find_package (OpenJPEG CONFIG) # Note: Recent OpenJPEG versions have exported cmake configs, but we don't # find them reliable at all, so we stick to our FindOpenJPEG.cmake module. @@ -255,6 +263,8 @@ checked_find_package (Ptex) endif () +set(WEBP_INCLUDES "") +set(WEBP_LIBRARIES WebP::webp WebP::webpdemux) checked_find_package (WebP) # Note: When WebP 1.1 (released late 2019) is our minimum, we can use their # exported configs and remove our FindWebP.cmake module.