From 0b1da819c88dfa64daa71897459ad81f32090f7a Mon Sep 17 00:00:00 2001 From: Michael Smith Date: Sat, 25 Jan 2025 13:28:08 -0800 Subject: [PATCH 1/3] increase likelihood of finding OpenEXR, first try using find module then try config --- CMakeLists.txt | 53 ++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 47 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ea380bc..e28a26b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -58,14 +58,55 @@ else() message( STATUS " ZLIB is automatically linked when using OpenEXR 3.x but CTL needs to link to ZLIB if using OpenEXR 2.x" ) endif() -find_package(OpenEXR 3 CONFIG QUIET) +# find OpenEXR +find_package(IlmBase QUIET) +if(IlmBase_FOUND) + message(STATUS "Found IlmBase ${IlmBase_VERSION}") + find_package(OpenEXR 2 QUIET) +endif() + +if(NOT OpenEXR_FOUND) + find_package(OpenEXR QUIET) + if(NOT OpenEXR_FOUND) + find_package(OpenEXR CONFIG REQUIRED) + if(OpenEXR_FOUND) + set(OpenEXR_FOUND_WITH_CONFIG TRUE BOOL "found OpenEXR with Config") + endif() + endif() +endif() + if(OpenEXR_FOUND) message(STATUS "Found OpenEXR ${OpenEXR_VERSION}") -else() - message(STATUS "OpenEXR v3 not found, looking for IlmBase and OpenEXR v2") - find_package(IlmBase REQUIRED) - find_package(OpenEXR 2 REQUIRED) -endif() + set(USE_OPENEXR TRUE CACHE BOOL "Add OpenEXR support") + add_definitions(-DOJPH_ENABLE_OPENEXR_SUPPORT) + if(OpenEXR_FOUND_WITH_CONFIG) + message(STATUS " found OpenEXR with Config") + else(OpenEXR_FOUND_WITH_CONFIG) + message(STATUS " found OpenEXR with FindModule") + endif(OpenEXR_FOUND_WITH_CONFIG) +else(OpenEXR_FOUND) + message(ERROR "OpenEXR is a required dependency but it has not been found") +endif(OpenEXR_FOUND) + +if(IlmBase_FOUND) + message(STATUS "IlmBase info:") + message(STATUS " IlmBase_VERSION = ${IlmBase_VERSION}") + message(STATUS " IlmBase_INCLUDE_DIR = ${IlmBase_INCLUDE_DIR}") + message(STATUS " IlmBase_INCLUDE_DIRS = ${IlmBase_INCLUDE_DIRS}") + message(STATUS " IlmBase_LIBRARY = ${IlmBase_LIBRARY}") + message(STATUS " IlmBase_LIBRARIES = ${IlmBase_LIBRARIES}") +endif(IlmBase_FOUND) + +if(OpenEXR_FOUND) + message(STATUS "OpenEXR info:") + message(STATUS " OpenEXR_VERSION = ${OpenEXR_VERSION}") + if( NOT OpenEXR_FOUND_WITH_CONFIG) + message(STATUS " OpenEXR_INCLUDE_DIR = ${OpenEXR_INCLUDE_DIR}") + message(STATUS " OpenEXR_INCLUDE_DIRS = ${OpenEXR_INCLUDE_DIRS}") + message(STATUS " OpenEXR_LIBRARY = ${OpenEXR_LIBRARY}") + message(STATUS " OpenEXR_LIBRARIES = ${OpenEXR_LIBRARIES}") + endif(NOT OpenEXR_FOUND_WITH_CONFIG) +endif(OpenEXR_FOUND) add_subdirectory(lib) add_subdirectory(doc) From 56e4e04d7fe364d39edce937478a6158ed133ef6 Mon Sep 17 00:00:00 2001 From: Michael Smith Date: Sat, 25 Jan 2025 15:55:00 -0800 Subject: [PATCH 2/3] find module searches for openexr v2 --- CMakeLists.txt | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e28a26b..0786574 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -66,15 +66,12 @@ if(IlmBase_FOUND) endif() if(NOT OpenEXR_FOUND) - find_package(OpenEXR QUIET) - if(NOT OpenEXR_FOUND) - find_package(OpenEXR CONFIG REQUIRED) - if(OpenEXR_FOUND) - set(OpenEXR_FOUND_WITH_CONFIG TRUE BOOL "found OpenEXR with Config") - endif() + find_package(OpenEXR CONFIG REQUIRED) + if(OpenEXR_FOUND) + set(OpenEXR_FOUND_WITH_CONFIG TRUE BOOL "found OpenEXR with Config") endif() endif() - + if(OpenEXR_FOUND) message(STATUS "Found OpenEXR ${OpenEXR_VERSION}") set(USE_OPENEXR TRUE CACHE BOOL "Add OpenEXR support") From f2a9f5621ec5270dda019eeee736991881aefb2e Mon Sep 17 00:00:00 2001 From: Michael Smith Date: Sat, 25 Jan 2025 20:04:56 -0800 Subject: [PATCH 3/3] config searches for openexr v3 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0786574..bcc7ac3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -66,7 +66,7 @@ if(IlmBase_FOUND) endif() if(NOT OpenEXR_FOUND) - find_package(OpenEXR CONFIG REQUIRED) + find_package(OpenEXR CONFIG 3 REQUIRED) if(OpenEXR_FOUND) set(OpenEXR_FOUND_WITH_CONFIG TRUE BOOL "found OpenEXR with Config") endif()