summaryrefslogtreecommitdiff
path: root/CMakeModules/CopyCitronQt6Deps.cmake
diff options
context:
space:
mode:
authorvampiric_x <vampiric_x@citron-emu.org>2025-01-12 04:26:22 +0100
committervampiric_x <vampiric_x@citron-emu.org>2025-01-12 04:26:22 +0100
commit2d7f9d921b3508a5c5effba5604aaea5620441ef (patch)
tree60bf9c618aab4ad201f4ef12a03e709fc152f586 /CMakeModules/CopyCitronQt6Deps.cmake
parentd3ed42af8f697fde240b26e02aab0c6cf3c137c5 (diff)
ui(QT): QT 6.7.3 Implementation
Diffstat (limited to 'CMakeModules/CopyCitronQt6Deps.cmake')
-rw-r--r--CMakeModules/CopyCitronQt6Deps.cmake61
1 files changed, 61 insertions, 0 deletions
diff --git a/CMakeModules/CopyCitronQt6Deps.cmake b/CMakeModules/CopyCitronQt6Deps.cmake
new file mode 100644
index 000000000..342939f55
--- /dev/null
+++ b/CMakeModules/CopyCitronQt6Deps.cmake
@@ -0,0 +1,61 @@
+# SPDX-FileCopyrightText: 2024 Citron HomeBrew Emulator Project
+# SPDX-FileCopyrightText: 2024 kleidis
+
+function(copy_citron_Qt6_deps target_dir)
+ include(WindowsCopyFiles)
+ if (MSVC)
+ set(DLL_DEST "$<TARGET_FILE_DIR:${target_dir}>/")
+ set(Qt6_DLL_DIR "${Qt6_DIR}/../../../bin")
+ else()
+ set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/")
+ set(Qt6_DLL_DIR "${Qt6_DIR}/../../../lib/")
+ endif()
+ set(Qt6_PLATFORMS_DIR "${Qt6_DIR}/../../../plugins/platforms/")
+ set(Qt6_STYLES_DIR "${Qt6_DIR}/../../../plugins/styles/")
+ set(Qt6_IMAGEFORMATS_DIR "${Qt6_DIR}/../../../plugins/imageformats/")
+ set(Qt6_RESOURCES_DIR "${Qt6_DIR}/../../../resources/")
+ set(PLATFORMS ${DLL_DEST}plugins/platforms/)
+ set(STYLES ${DLL_DEST}plugins/styles/)
+ set(IMAGEFORMATS ${DLL_DEST}plugins/imageformats/)
+
+ if (MSVC)
+ windows_copy_files(${target_dir} ${Qt6_DLL_DIR} ${DLL_DEST}
+ Qt6Core$<$<CONFIG:Debug>:d>.*
+ Qt6Gui$<$<CONFIG:Debug>:d>.*
+ Qt6Widgets$<$<CONFIG:Debug>:d>.*
+ Qt6Network$<$<CONFIG:Debug>:d>.*
+ )
+ if (CITRON_USE_QT_MULTIMEDIA)
+ windows_copy_files(${target_dir} ${Qt6_DLL_DIR} ${DLL_DEST}
+ Qt6Multimedia$<$<CONFIG:Debug>:d>.*
+ )
+ endif()
+ if (CITRON_USE_QT_WEB_ENGINE)
+ windows_copy_files(${target_dir} ${Qt6_DLL_DIR} ${DLL_DEST}
+ Qt6WebEngineCore$<$<CONFIG:Debug>:d>.*
+ Qt6WebEngineWidgets$<$<CONFIG:Debug>:d>.*
+ QtWebEngineProcess$<$<CONFIG:Debug>:d>.*
+ )
+ windows_copy_files(${target_dir} ${Qt6_RESOURCES_DIR} ${DLL_DEST}
+ icudtl.dat
+ qtwebengine_devtools_resources.pak
+ qtwebengine_resources.pak
+ qtwebengine_resources_100p.pak
+ qtwebengine_resources_200p.pak
+ )
+ endif()
+ windows_copy_files(citron ${Qt6_PLATFORMS_DIR} ${PLATFORMS} qwindows$<$<CONFIG:Debug>:d>.*)
+ windows_copy_files(citron ${Qt6_STYLES_DIR} ${STYLES} qwindowsvistastyle$<$<CONFIG:Debug>:d>.*)
+ windows_copy_files(citron ${Qt6_IMAGEFORMATS_DIR} ${IMAGEFORMATS}
+ qjpeg$<$<CONFIG:Debug>:d>.*
+ qgif$<$<CONFIG:Debug>:d>.*
+ )
+ else()
+ # Update for non-MSVC platforms if needed
+ endif()
+
+ # Create an empty qt.conf file
+ add_custom_command(TARGET citron POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E touch ${DLL_DEST}qt.conf
+ )
+endfunction(copy_citron_Qt6_deps)