Files
MINGW-packages/mingw-w64-blender/0020-blendthumb-build.patch
2025-08-27 00:01:43 +03:00

82 lines
3.7 KiB
Diff

diff -Naur blender-4.5.2/source/blender/blendthumb/CMakeLists.txt blender-4.5.2-patched/source/blender/blendthumb/CMakeLists.txt
--- blender-4.5.2/source/blender/blendthumb/CMakeLists.txt 2025-08-26 12:28:21.016842500 +0300
+++ blender-4.5.2-patched/source/blender/blendthumb/CMakeLists.txt 2025-08-26 12:28:58.792231200 +0300
@@ -47,6 +47,7 @@
setup_platform_linker_flags(BlendThumb)
setup_platform_linker_libs(BlendThumb)
+ if(MSVC)
target_link_libraries(BlendThumb PRIVATE bf_blenlib bf_blenloader_core dbghelp.lib Version.lib Comctl32.lib)
# `blenlib` drags in a whole bunch of dependencies on shared libraries, none of which are used
# by `blenthumb`, but will cause load issues since the debug linker will not eliminate them.
@@ -55,6 +56,9 @@
set_target_properties(BlendThumb PROPERTIES LINK_FLAGS "/OPT:ref")
set_target_properties(BlendThumb PROPERTIES LINK_FLAGS_DEBUG "/NODEFAULTLIB:msvcrt")
set_target_properties(BlendThumb PROPERTIES VS_GLOBAL_VcpkgEnabled "false")
+ else()
+ target_link_libraries(BlendThumb PRIVATE bf_blenlib bf_blenloader_core dbghelp version comctl32 shlwapi ${PTHREADS_LIBRARIES})
+ endif()
elseif(APPLE)
# -----------------------------------------------------------------------------
diff -Naur blender-4.5.2/source/blender/blendthumb/src/blendthumb_win32.cc blender-4.5.2-patched/source/blender/blendthumb/src/blendthumb_win32.cc
--- blender-4.5.2/source/blender/blendthumb/src/blendthumb_win32.cc 2025-08-26 12:28:21.023882700 +0300
+++ blender-4.5.2-patched/source/blender/blendthumb/src/blendthumb_win32.cc 2025-08-26 12:28:58.816230300 +0300
@@ -20,7 +20,9 @@
#include "BLI_filereader.h"
+#ifdef _MSC_VER
#pragma comment(lib, "shlwapi.lib")
+#endif
/**
* This thumbnail provider implements #IInitializeWithStream to enable being hosted
diff -Naur blender-4.5.2/source/blender/blenlib/intern/winstuff.cc blender-4.5.2-patched/source/blender/blenlib/intern/winstuff.cc
--- blender-4.5.2/source/blender/blenlib/intern/winstuff.cc 2025-08-26 12:28:19.447460700 +0300
+++ blender-4.5.2-patched/source/blender/blenlib/intern/winstuff.cc 2025-08-26 12:28:58.799230900 +0300
@@ -261,7 +261,11 @@
char system_dir[FILE_MAXDIR];
BLI_windows_get_executable_dir(install_dir);
GetSystemDirectory(system_dir, sizeof(system_dir));
+#ifdef __MINGW32__
+ const char *thumbnail_handler = "libBlendThumb.dll";
+#else
const char *thumbnail_handler = "BlendThumb.dll";
+#endif
SNPRINTF(reg_cmd, "%s\\regsvr32 /s \"%s\\%s\"", system_dir, install_dir, thumbnail_handler);
system(reg_cmd);
}
@@ -313,7 +317,11 @@
char system_dir[FILE_MAXDIR];
BLI_windows_get_executable_dir(install_dir);
GetSystemDirectory(system_dir, sizeof(system_dir));
+#ifdef __MINGW32__
+ const char *thumbnail_handler = "libBlendThumb.dll";
+#else
const char *thumbnail_handler = "BlendThumb.dll";
+#endif
SNPRINTF(reg_cmd, "%s\\regsvr32 /u /s \"%s\\%s\"", system_dir, install_dir, thumbnail_handler);
system(reg_cmd);
}
diff -Naur blender-4.5.2/source/creator/CMakeLists.txt blender-4.5.2-patched/source/creator/CMakeLists.txt
--- blender-4.5.2/source/creator/CMakeLists.txt 2025-08-26 12:28:16.778331100 +0300
+++ blender-4.5.2-patched/source/creator/CMakeLists.txt 2025-08-26 12:28:58.830227500 +0300
@@ -807,9 +807,14 @@
DESTINATION "./share/icons/hicolor/symbolic/apps"
)
if(WITH_BLENDER_THUMBNAILER)
+ if(MINGW)
+ set(BLENDER_THUMBNAILER_TARGET BlendThumb)
+ else()
+ set(BLENDER_THUMBNAILER_TARGET blender-thumbnailer)
+ endif()
install(
- TARGETS blender-thumbnailer
- DESTINATION "./bin"
+ TARGETS ${BLENDER_THUMBNAILER_TARGET}
+ RUNTIME DESTINATION bin
)
endif()
endif()