@@ -133,11 +133,36 @@ else()
133133 target_compile_options (rembg_native_lib PRIVATE -Wall -Wextra -Wpedantic )
134134endif ()
135135
136- function (rembg_import_qt_tls_plugins target )
136+ function (rembg_import_qt_static_plugins target )
137137 if (NOT COMMAND qt_import_plugins)
138138 return ()
139139 endif ()
140140
141+ set (platform_plugins)
142+ foreach (plugin IN ITEMS
143+ Qt6::QXcbIntegrationPlugin
144+ Qt6::QMinimalIntegrationPlugin
145+ Qt6::QOffscreenIntegrationPlugin
146+ Qt6::QLinuxFbIntegrationPlugin
147+ Qt6::QEglFSIntegrationPlugin
148+ Qt6::QVncIntegrationPlugin
149+ )
150+ if (TARGET ${plugin} )
151+ list (APPEND platform_plugins ${plugin} )
152+ endif ()
153+ endforeach ()
154+
155+ set (image_plugins)
156+ foreach (plugin IN ITEMS
157+ Qt6::QGifPlugin
158+ Qt6::QICOPlugin
159+ Qt6::QJpegPlugin
160+ )
161+ if (TARGET ${plugin} )
162+ list (APPEND image_plugins ${plugin} )
163+ endif ()
164+ endforeach ()
165+
141166 set (tls_plugins)
142167 foreach (plugin IN ITEMS
143168 Qt6::QTlsBackendOpenSSLPlugin
@@ -150,14 +175,25 @@ function(rembg_import_qt_tls_plugins target)
150175 endif ()
151176 endforeach ()
152177
178+ set (plugin_imports)
179+ if (platform_plugins)
180+ list (APPEND plugin_imports platforms ${platform_plugins} )
181+ endif ()
182+ if (image_plugins)
183+ list (APPEND plugin_imports imageformats ${image_plugins} )
184+ endif ()
153185 if (tls_plugins)
154- qt_import_plugins (${target} INCLUDE_BY_TYPE tls ${tls_plugins} )
186+ list (APPEND plugin_imports tls ${tls_plugins} )
187+ endif ()
188+
189+ if (plugin_imports)
190+ qt_import_plugins (${target} INCLUDE_BY_TYPE ${plugin_imports} )
155191 endif ()
156192endfunction ()
157193
158194add_executable (rembg-gui-native src/main.cpp )
159195target_link_libraries (rembg-gui-native PRIVATE rembg_native_lib )
160- rembg_import_qt_tls_plugins (rembg-gui-native )
196+ rembg_import_qt_static_plugins (rembg-gui-native )
161197set_target_properties (rembg-gui-native PROPERTIES OUTPUT_NAME rembg-gui )
162198
163199add_custom_command (TARGET rembg-gui-native POST_BUILD
@@ -297,7 +333,7 @@ if(BUILD_TESTING)
297333 set (REMBG_TEST_ENVIRONMENT
298334 "QT_PLUGIN_PATH=${REMBG_QT_PLUGIN_DIR} "
299335 )
300- rembg_import_qt_tls_plugins (rembg-native-tests )
336+ rembg_import_qt_static_plugins (rembg-native-tests )
301337 set_tests_properties (rembg-native-tests
302338 PROPERTIES
303339 TIMEOUT 600
@@ -312,7 +348,7 @@ if(BUILD_TESTING)
312348 )
313349 target_compile_features (rembg-gui-smoke-tests PRIVATE cxx_std_23 )
314350 target_link_libraries (rembg-gui-smoke-tests PRIVATE rembg_native_lib Qt6::Test )
315- rembg_import_qt_tls_plugins (rembg-gui-smoke-tests )
351+ rembg_import_qt_static_plugins (rembg-gui-smoke-tests )
316352 add_custom_command (TARGET rembg-gui-smoke-tests POST_BUILD
317353 COMMAND "${CMAKE_COMMAND} " -E copy_if_different
318354 ${REMBG_ONNXRUNTIME_RUNTIME_FILES}
0 commit comments