diff --git a/build_files/build_environment/cmake/deflate.cmake b/build_files/build_environment/cmake/deflate.cmake index 31e7f297f9a..4b546777400 100644 --- a/build_files/build_environment/cmake/deflate.cmake +++ b/build_files/build_environment/cmake/deflate.cmake @@ -5,6 +5,8 @@ set(DEFLATE_EXTRA_ARGS -DCMAKE_POSITION_INDEPENDENT_CODE=ON + -DLIBDEFLATE_BUILD_STATIC_LIB=ON + -DLIBDEFLATE_BUILD_SHARED_LIB=OFF ) ExternalProject_Add(external_deflate diff --git a/build_files/build_environment/cmake/openexr.cmake b/build_files/build_environment/cmake/openexr.cmake index ea458c1cf05..df076875006 100644 --- a/build_files/build_environment/cmake/openexr.cmake +++ b/build_files/build_environment/cmake/openexr.cmake @@ -18,7 +18,6 @@ set(OPENEXR_EXTRA_ARGS -DOPENEXR_BUILD_BOTH_STATIC_SHARED=OFF -DBUILD_SHARED_LIBS=ON -DOPENEXR_INSTALL_TOOLS=OFF - -DOPENEXR_INSTALL_EXAMPLES=OFF -DImath_DIR=${LIBDIR}/imath/lib/cmake/Imath -DOPENEXR_LIB_SUFFIX=${OPENEXR_VERSION_BUILD_POSTFIX} -Dlibdeflate_DIR=${LIBDIR}/deflate/lib/cmake/libdeflate @@ -29,10 +28,6 @@ ExternalProject_Add(external_openexr DOWNLOAD_DIR ${DOWNLOAD_DIR} URL_HASH ${OPENEXR_HASH_TYPE}=${OPENEXR_HASH} - PATCH_COMMAND ${PATCH_CMD} -p 2 -d - ${BUILD_DIR}/openexr/src/external_openexr < - ${PATCH_DIR}/openexr_deflate_1588.diff - CMAKE_GENERATOR ${PLATFORM_ALT_GENERATOR} PREFIX ${BUILD_DIR}/openexr diff --git a/build_files/build_environment/cmake/openimageio.cmake b/build_files/build_environment/cmake/openimageio.cmake index c0f40f8fa7c..857970f86bd 100644 --- a/build_files/build_environment/cmake/openimageio.cmake +++ b/build_files/build_environment/cmake/openimageio.cmake @@ -104,6 +104,8 @@ set(OPENIMAGEIO_EXTRA_ARGS -Dpybind11_ROOT=${LIBDIR}/pybind11 -DPython_EXECUTABLE=${PYTHON_BINARY} -DTBB_ROOT=${LIBDIR}/tbb + -Dlibdeflate_ROOT=${LIBDIR}/deflate + -Dfmt_ROOT=${LIBDIR}/fmt ) ExternalProject_Add(external_openimageio @@ -120,9 +122,6 @@ ExternalProject_Add(external_openimageio ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/openimageio/src/external_openimageio/ < ${PATCH_DIR}/oiio_webp.diff && - ${PATCH_CMD} -p 1 -N -d - ${BUILD_DIR}/openimageio/src/external_openimageio/ < - ${PATCH_DIR}/oiio_4044.diff && ${PATCH_CMD} -p 1 -N -d ${BUILD_DIR}/openimageio/src/external_openimageio/ < ${PATCH_DIR}/oiio_4062.diff diff --git a/build_files/build_environment/cmake/versions.cmake b/build_files/build_environment/cmake/versions.cmake index 0d267e691c4..aa6ebf61e9c 100644 --- a/build_files/build_environment/cmake/versions.cmake +++ b/build_files/build_environment/cmake/versions.cmake @@ -83,9 +83,9 @@ set(DEFLATE_HASH a29d9dd653cbe03f2d5cd83972063f9e) set(DEFLATE_HASH_TYPE MD5) set(DEFLATE_FILE libdeflate-v${DEFLATE_VERSION}.tar.gz) -set(OPENEXR_VERSION 3.2.1) +set(OPENEXR_VERSION 3.2.4) set(OPENEXR_URI https://github.com/AcademySoftwareFoundation/openexr/archive/v${OPENEXR_VERSION}.tar.gz) -set(OPENEXR_HASH 1d5bb07433ec641cf3bb1b519a27ea6f) +set(OPENEXR_HASH 83b23b937b3a76fd37680422f41b81b7) set(OPENEXR_HASH_TYPE MD5) set(OPENEXR_FILE openexr-${OPENEXR_VERSION}.tar.gz) set(OPENEXR_CPE "cpe:2.3:a:openexr:openexr:${OPENEXR_VERSION}:*:*:*:*:*:*:*") @@ -185,9 +185,9 @@ set(OPENMP_URI https://github.com/llvm/llvm-project/releases/download/llvmorg-${ set(OPENMP_HASH_TYPE MD5) set(OPENMP_FILE openmp-${OPENMP_VERSION}.src.tar.xz) -set(OPENIMAGEIO_VERSION v2.5.6.0) +set(OPENIMAGEIO_VERSION v2.5.11.0) set(OPENIMAGEIO_URI https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/${OPENIMAGEIO_VERSION}.tar.gz) -set(OPENIMAGEIO_HASH d02db17716a20a71a446bdc6de57bd9c) +set(OPENIMAGEIO_HASH 691e9364d25e2878e042d48980fad593) set(OPENIMAGEIO_HASH_TYPE MD5) set(OPENIMAGEIO_FILE OpenImageIO-${OPENIMAGEIO_VERSION}.tar.gz) @@ -208,9 +208,9 @@ set(ROBINMAP_HASH c08ec4b1bf1c85eb0d6432244a6a89862229da1cb834f3f90fba8dc35d8c8e set(ROBINMAP_HASH_TYPE SHA256) set(ROBINMAP_FILE robinmap-${ROBINMAP_VERSION}.tar.gz) -set(TIFF_VERSION 4.5.1) +set(TIFF_VERSION 4.6.0) set(TIFF_URI http://download.osgeo.org/libtiff/tiff-${TIFF_VERSION}.tar.gz) -set(TIFF_HASH d08c5f9eee6350fffc239e5993d92779) +set(TIFF_HASH fc7d49a9348b890b29f91a4ecadd5b49) set(TIFF_HASH_TYPE MD5) set(TIFF_FILE tiff-${TIFF_VERSION}.tar.gz) set(TIFF_CPE "cpe:2.3:a:libtiff:libtiff:${TIFF_VERSION}:*:*:*:*:*:*:*") diff --git a/build_files/build_environment/patches/oiio_4044.diff b/build_files/build_environment/patches/oiio_4044.diff deleted file mode 100644 index 49123fc6d2b..00000000000 --- a/build_files/build_environment/patches/oiio_4044.diff +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/png.imageio/pngoutput.cpp b/src/png.imageio/pngoutput.cpp -index cc694f5a..f752ab7d 100644 ---- a/src/png.imageio/pngoutput.cpp -+++ b/src/png.imageio/pngoutput.cpp -@@ -385,7 +385,7 @@ PNGOutput::write_scanlines(int ybegin, int yend, int z, TypeDesc format, - unassoc_scratch.reset(new float[nvals]); - float* floatvals = unassoc_scratch.get(); - // Contiguize and convert to float -- OIIO::convert_image(m_spec.nchannels, m_spec.width, m_spec.height, 1, -+ OIIO::convert_image(m_spec.nchannels, m_spec.width, yend - ybegin, 1, - data, format, xstride, ystride, AutoStride, - floatvals, TypeFloat, AutoStride, AutoStride, - AutoStride); \ No newline at end of file diff --git a/build_files/build_environment/patches/openexr_deflate_1588.diff b/build_files/build_environment/patches/openexr_deflate_1588.diff deleted file mode 100644 index 7c1fe6b378f..00000000000 --- a/build_files/build_environment/patches/openexr_deflate_1588.diff +++ /dev/null @@ -1,140 +0,0 @@ -diff --git a/openexr_original/cmake/OpenEXRSetup.cmake b/openexr/cmake/OpenEXRSetup.cmake -index 425992d..fa80886 100644 ---- a/openexr_original/cmake/OpenEXRSetup.cmake -+++ b/openexr/cmake/OpenEXRSetup.cmake -@@ -160,71 +160,79 @@ set(OPENEXR_DEFLATE_TAG "v1.18" CACHE STRING "Tag to use for libdeflate source r - if(NOT OPENEXR_FORCE_INTERNAL_DEFLATE) - #TODO: ^^ Release should not clone from main, this is a place holder - set(CMAKE_IGNORE_PATH "${CMAKE_CURRENT_BINARY_DIR}/_deps/deflate-src/config;${CMAKE_CURRENT_BINARY_DIR}/_deps/deflate-build/config") -- include(FindPkgConfig) -- pkg_check_modules(deflate IMPORTED_TARGET GLOBAL libdeflate) -- set(CMAKE_IGNORE_PATH) -- if (deflate_FOUND) -- message(STATUS "Using libdeflate from ${deflate_LINK_LIBRARIES}") -+ find_package(libdeflate CONFIG) -+ if(libdeflate_FOUND) -+ message(STATUS "Using libdeflate from ${libdeflate_DIR}") -+ else() -+ include(FindPkgConfig) -+ pkg_check_modules(deflate IMPORTED_TARGET GLOBAL libdeflate) -+ set(CMAKE_IGNORE_PATH) -+ if (deflate_FOUND) -+ message(STATUS "Using libdeflate from ${deflate_LINK_LIBRARIES}") -+ endif() - endif() - endif() - --if(NOT TARGET PkgConfig::deflate AND NOT deflate_FOUND) -- if(OPENEXR_FORCE_INTERNAL_DEFLATE) -- message(STATUS "libdeflate forced internal, installing from ${OPENEXR_DEFLATE_REPO} (${OPENEXR_DEFLATE_TAG})") -- else() -- message(STATUS "libdeflate was not found, installing from ${OPENEXR_DEFLATE_REPO} (${OPENEXR_DEFLATE_TAG})") -- endif() -- include(FetchContent) -- FetchContent_Declare(Deflate -- GIT_REPOSITORY "${OPENEXR_DEFLATE_REPO}" -- GIT_TAG "${OPENEXR_DEFLATE_TAG}" -- GIT_SHALLOW ON -- ) -+if(libdeflate_FOUND) -+ set(EXR_DEFLATE_LIB libdeflate::libdeflate_static) -+else() -+ if(NOT TARGET PkgConfig::deflate AND NOT deflate_FOUND) -+ if(OPENEXR_FORCE_INTERNAL_DEFLATE) -+ message(STATUS "libdeflate forced internal, installing from ${OPENEXR_DEFLATE_REPO} (${OPENEXR_DEFLATE_TAG})") -+ else() -+ message(STATUS "libdeflate was not found, installing from ${OPENEXR_DEFLATE_REPO} (${OPENEXR_DEFLATE_TAG})") -+ endif() -+ include(FetchContent) -+ FetchContent_Declare(Deflate -+ GIT_REPOSITORY "${OPENEXR_DEFLATE_REPO}" -+ GIT_TAG "${OPENEXR_DEFLATE_TAG}" -+ GIT_SHALLOW ON -+ ) - -- FetchContent_GetProperties(Deflate) -- if(NOT Deflate_POPULATED) -- FetchContent_Populate(Deflate) -- endif() -+ FetchContent_GetProperties(Deflate) -+ if(NOT Deflate_POPULATED) -+ FetchContent_Populate(Deflate) -+ endif() - -- # Rather than actually compile something, just embed the sources -- # into exrcore. This could in theory cause issues when compiling as -- # a static library into another application which also uses -- # libdeflate but we switch the export symbol to hidden which should -- # hide the symbols when linking... -- set(EXR_DEFLATE_SOURCES -- lib/arm/cpu_features.c -- lib/x86/cpu_features.c -- lib/utils.c -- lib/deflate_compress.c -- lib/deflate_decompress.c -- lib/adler32.c -- lib/zlib_compress.c -- lib/zlib_decompress.c) -- # don't need these -- # lib/crc32.c -- # lib/gzip_compress.c -- # lib/gzip_decompress.c -- file(READ ${deflate_SOURCE_DIR}/lib/lib_common.h DEFLATE_HIDE) -- string(REPLACE "visibility(\"default\")" "visibility(\"hidden\")" DEFLATE_HIDE "${DEFLATE_HIDE}") -- string(REPLACE "__declspec(dllexport)" "/**/" DEFLATE_HIDE "${DEFLATE_HIDE}") -- file(WRITE ${deflate_SOURCE_DIR}/lib/lib_common.h "${DEFLATE_HIDE}") -+ # Rather than actually compile something, just embed the sources -+ # into exrcore. This could in theory cause issues when compiling as -+ # a static library into another application which also uses -+ # libdeflate but we switch the export symbol to hidden which should -+ # hide the symbols when linking... -+ set(EXR_DEFLATE_SOURCES -+ lib/arm/cpu_features.c -+ lib/x86/cpu_features.c -+ lib/utils.c -+ lib/deflate_compress.c -+ lib/deflate_decompress.c -+ lib/adler32.c -+ lib/zlib_compress.c -+ lib/zlib_decompress.c) -+ # don't need these -+ # lib/crc32.c -+ # lib/gzip_compress.c -+ # lib/gzip_decompress.c -+ file(READ ${deflate_SOURCE_DIR}/lib/lib_common.h DEFLATE_HIDE) -+ string(REPLACE "visibility(\"default\")" "visibility(\"hidden\")" DEFLATE_HIDE "${DEFLATE_HIDE}") -+ string(REPLACE "__declspec(dllexport)" "/**/" DEFLATE_HIDE "${DEFLATE_HIDE}") -+ file(WRITE ${deflate_SOURCE_DIR}/lib/lib_common.h "${DEFLATE_HIDE}") - -- # cmake makes fetch content name lowercase for the properties (to deflate) -- list(TRANSFORM EXR_DEFLATE_SOURCES PREPEND ${deflate_SOURCE_DIR}/) -- set(EXR_DEFLATE_INCLUDE_DIR ${deflate_SOURCE_DIR}) -- set(EXR_DEFLATE_LIB) --else() -- set(EXR_DEFLATE_INCLUDE_DIR) -- set(EXR_DEFLATE_LIB ${deflate_LIBRARIES}) -- # set EXR_DEFATE_LDFLAGS for OpenEXR.pc.in for static build -- if (BUILD_SHARED_LIBS) -- set(EXR_DEFLATE_LDFLAGS "") -+ # cmake makes fetch content name lowercase for the properties (to deflate) -+ list(TRANSFORM EXR_DEFLATE_SOURCES PREPEND ${deflate_SOURCE_DIR}/) -+ set(EXR_DEFLATE_INCLUDE_DIR ${deflate_SOURCE_DIR}) -+ set(EXR_DEFLATE_LIB) - else() -- set(EXR_DEFLATE_LDFLAGS "-l${deflate_LIBRARIES}") -+ set(EXR_DEFLATE_INCLUDE_DIR) -+ set(EXR_DEFLATE_LIB ${deflate_LIBRARIES}) -+ # set EXR_DEFATE_LDFLAGS for OpenEXR.pc.in for static build -+ if (BUILD_SHARED_LIBS) -+ set(EXR_DEFLATE_LDFLAGS "") -+ else() -+ set(EXR_DEFLATE_LDFLAGS "-l${deflate_LIBRARIES}") -+ endif() -+ set(EXR_DEFLATE_SOURCES) - endif() -- set(EXR_DEFLATE_SOURCES) - endif() -- - ####################################### - # Find or install Imath - ####################################### \ No newline at end of file diff --git a/build_files/build_environment/patches/openimageio.diff b/build_files/build_environment/patches/openimageio.diff index 59c7d753be9..50d561dc056 100644 --- a/build_files/build_environment/patches/openimageio.diff +++ b/build_files/build_environment/patches/openimageio.diff @@ -21,20 +21,3 @@ diff -Naur orig/src/cmake/compiler.cmake external_openimageio/src/cmake/compiler endif (MSVC) if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" -diff --git a/src/libOpenImageIO/imageioplugin.cpp b/src/libOpenImageIO/imageioplugin.cpp -index 9ad45042e..d2a0210ff 100644 ---- a/src/libOpenImageIO/imageioplugin.cpp -+++ b/src/libOpenImageIO/imageioplugin.cpp -@@ -469,12 +469,6 @@ pvt::catalog_all_plugins(std::string searchpath) - - std::unique_lock lock(imageio_mutex); - append_if_env_exists(searchpath, "OIIO_LIBRARY_PATH", true); --#ifdef __APPLE__ -- append_if_env_exists(searchpath, "DYLD_LIBRARY_PATH"); --#endif --#if defined(__linux__) || defined(__FreeBSD__) -- append_if_env_exists(searchpath, "LD_LIBRARY_PATH"); --#endif - - size_t patlen = pattern.length(); - std::vector dirs;