CMake: Disable Options Depending on OpenEXR Dependecies
OpenEXR has some dependecies that other other modules in Blender requires. When disabling OpenEXR these dependecies could not match and building blender would fail. This PR disables the next options when `WITH_IMAGE_OPENEXR=Off` - `WITH_OPENVDB` - `WITH_ALEMBIC` - `WITH_VULKAN_BACKEND` - `WITH_CYCLES_OSL` Additionally windows stores the IMath libraries in `IMATH_LIBRARIES` Linux and Mac stored the IMath libraries in `IMATH_LIBRARY`. This change will also adds `IMATH_LIBRARIES` variable to all platforms. Pull Request: https://projects.blender.org/blender/blender/pulls/106209
This commit is contained in:
parent
8954df63ef
commit
4aed240b02
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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})
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user