diff --git a/CMakeLists.txt b/CMakeLists.txt index ea380bc..bcc7ac3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -58,14 +58,52 @@ 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 CONFIG 3 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}") -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)