diff --git a/CMakeLists.txt b/CMakeLists.txt index 1feb27f8356..41bd76e0f5a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -886,8 +886,11 @@ set_and_warn_dependency(WITH_TBB WITH_MOD_FLUID OFF) # NanoVDB requires OpenVDB to convert the data structure set_and_warn_dependency(WITH_OPENVDB WITH_NANOVDB OFF) -# OpenVDB and OpenColorIO uses 'half' type from OpenEXR +# OpenVDB, Alembic and Vulkan, OSL uses 'half' or 'imath' from OpenEXR set_and_warn_dependency(WITH_IMAGE_OPENEXR WITH_OPENVDB OFF) +set_and_warn_dependency(WITH_IMAGE_OPENEXR WITH_ALEMBIC OFF) +set_and_warn_dependency(WITH_IMAGE_OPENEXR WITH_VULKAN_BACKEND OFF) +set_and_warn_dependency(WITH_IMAGE_OPENEXR WITH_CYCLES_OSL OFF) # Haru needs `TIFFFaxBlackCodes` & `TIFFFaxWhiteCodes` symbols from TIFF. set_and_warn_dependency(WITH_IMAGE_TIFF WITH_HARU OFF) diff --git a/build_files/cmake/Modules/FindOpenEXR.cmake b/build_files/cmake/Modules/FindOpenEXR.cmake index bbc1e11539f..0f840ff2af0 100644 --- a/build_files/cmake/Modules/FindOpenEXR.cmake +++ b/build_files/cmake/Modules/FindOpenEXR.cmake @@ -120,9 +120,8 @@ UNSET(_openexr_libs_ver) IF(OPENEXR_VERSION VERSION_GREATER_EQUAL "3.0.0") # For OpenEXR 3.x, we also need to find the now separate Imath library. - # For simplicity we add it to the OpenEXR includes and libraries, as we - # have no direct dependency on Imath and it's simpler to support both - # 2.x and 3.x this way. + # For simplicity we also add it to the OpenEXR includes and libraries, + # as it's simpler to support both 2.x and 3.x this way. # Find include directory FIND_PATH(IMATH_INCLUDE_DIR @@ -169,6 +168,12 @@ IF(OPENEXR_VERSION VERSION_GREATER_EQUAL "3.0.0") UNSET(_imath_build_specification) ENDIF() +IF(OPENEXR_VERSION VERSION_GREATER_EQUAL "3.0.0") + SET(IMATH_LIBRARIES ${IMATH_LIBRARY}) +ELSE() + SET(IMATH_LIBRARIES ${OPENEXR_IMATH_LIBRARY}) +ENDIF() + # handle the QUIETLY and REQUIRED arguments and set OPENEXR_FOUND to TRUE if # all listed variables are TRUE INCLUDE(FindPackageHandleStandardArgs) @@ -196,6 +201,7 @@ MARK_AS_ADVANCED( OPENEXR_VERSION IMATH_INCLUDE_DIR IMATH_LIBRARY + IMATH_LIBRARIES ) FOREACH(COMPONENT ${_openexr_FIND_COMPONENTS}) STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT) diff --git a/source/blender/gpu/CMakeLists.txt b/source/blender/gpu/CMakeLists.txt index aefa41ccdc5..d03f538e6cf 100644 --- a/source/blender/gpu/CMakeLists.txt +++ b/source/blender/gpu/CMakeLists.txt @@ -801,7 +801,6 @@ if(WITH_GPU_BUILDTIME_SHADER_BUILDER) bf_intern_ghost ${PLATFORM_LINKLIBS} ${IMATH_LIBRARIES} - ${IMATH_LIBRARY} ) target_include_directories(shader_builder PRIVATE ${INC} ${CMAKE_CURRENT_BINARY_DIR})