Files
goo-engine/build_files/build_environment/patches/oidn.diff
T
Brecht Van Lommel cb9b7eaa34 Build: fix macOS OpenImageDenoise 2.1 library not loading correctly
Version symlinks are not used on macOS due to notarization issues.
2023-11-16 19:21:30 +01:00

49 lines
2.3 KiB
Diff

diff -Naur oidn-2.0.1/core/CMakeLists.txt external_openimagedenoise/core/CMakeLists.txt
--- oidn-2.0.1/core/CMakeLists.txt 2023-06-26 09:06:31.000000000 -0600
+++ external_openimagedenoise/core/CMakeLists.txt 2023-07-01 10:54:06.347161100 -0600
@@ -76,7 +76,7 @@
add_library(OpenImageDenoise_core SHARED ${OIDN_CORE_SOURCES} ${OIDN_RESOURCE_FILE})
set_property(TARGET OpenImageDenoise_core PROPERTY VERSION ${PROJECT_VERSION})
-
+target_compile_definitions(OpenImageDenoise_core PRIVATE SHARED_POSTFIX=\"$<$<CONFIG:Debug>:$<TARGET_PROPERTY:OpenImageDenoise_core,DEBUG_POSTFIX>>\")
target_link_libraries(OpenImageDenoise_core
PUBLIC
OpenImageDenoise_common
diff -Naur oidn-2.0.1/core/module.cpp external_openimagedenoise/core/module.cpp
--- oidn-2.0.1/core/module.cpp 2023-06-26 09:06:31.000000000 -0600
+++ external_openimagedenoise/core/module.cpp 2023-07-01 10:49:59.924876500 -0600
@@ -29,7 +29,7 @@
return true; // module already loaded
// Get the path of the module to load
- std::string filename = "OpenImageDenoise_" + name;
+ std::string filename = "OpenImageDenoise_" + name + SHARED_POSTFIX;
#if defined(_WIN32)
filename += ".dll";
#else
diff -Naur oidn-2.0.1/devices/CMakeLists.txt external_openimagedenoise/devices/CMakeLists.txt
--- oidn-2.0.1/devices/CMakeLists.txt 2023-06-26 09:06:31.000000000 -0600
+++ external_openimagedenoise/devices/CMakeLists.txt 2023-07-01 10:57:36.987238700 -0600
@@ -59,6 +59,8 @@
-DOIDN_API_NAMESPACE:STRING=${OIDN_API_NAMESPACE}
-DOIDN_WARN_AS_ERRORS:BOOL=${OIDN_WARN_AS_ERRORS}
-DOIDN_SANITIZER:STRING=${OIDN_SANITIZER}
+ -DPYTHON_EXECUTABLE:STRING=${PYTHON_EXECUTABLE}
+ -DCMAKE_DEBUG_POSTFIX:STRING=${CMAKE_DEBUG_POSTFIX}
BUILD_ALWAYS TRUE
DEPENDS
OpenImageDenoise_core
--- a/core/module.cpp 2023-11-16 19:07:32
+++ b/core/module.cpp 2023-11-16 19:08:01
@@ -37,7 +37,8 @@
"." + toString(OIDN_VERSION_MINOR) +
"." + toString(OIDN_VERSION_PATCH);
#if defined(__APPLE__)
- filename = "lib" + filename + versionStr + ".dylib";
+ // BLENDER: version string is stripped on macOS.
+ filename = "lib" + filename + ".dylib";
#else
filename = "lib" + filename + ".so" + versionStr;
#endif