diff options
author | lat9nq <22451773+lat9nq@users.noreply.github.com> | 2021-05-19 23:18:33 +0200 |
---|---|---|
committer | lat9nq <22451773+lat9nq@users.noreply.github.com> | 2021-05-26 21:29:45 +0200 |
commit | 52cc25ccbf5faf3ae0ee33e9e28e998440f5c424 (patch) | |
tree | c390fd461611f32a69274fbb53f45da4d18fa697 /CMakeModules | |
parent | Merge pull request #6339 from Morph1984/swkbd-queuedconnection (diff) | |
download | yuzu-52cc25ccbf5faf3ae0ee33e9e28e998440f5c424.tar yuzu-52cc25ccbf5faf3ae0ee33e9e28e998440f5c424.tar.gz yuzu-52cc25ccbf5faf3ae0ee33e9e28e998440f5c424.tar.bz2 yuzu-52cc25ccbf5faf3ae0ee33e9e28e998440f5c424.tar.lz yuzu-52cc25ccbf5faf3ae0ee33e9e28e998440f5c424.tar.xz yuzu-52cc25ccbf5faf3ae0ee33e9e28e998440f5c424.tar.zst yuzu-52cc25ccbf5faf3ae0ee33e9e28e998440f5c424.zip |
Diffstat (limited to 'CMakeModules')
-rw-r--r-- | CMakeModules/CopyYuzuQt5Deps.cmake | 135 |
1 files changed, 97 insertions, 38 deletions
diff --git a/CMakeModules/CopyYuzuQt5Deps.cmake b/CMakeModules/CopyYuzuQt5Deps.cmake index 59343b1ca..4a6aeebbb 100644 --- a/CMakeModules/CopyYuzuQt5Deps.cmake +++ b/CMakeModules/CopyYuzuQt5Deps.cmake @@ -1,52 +1,111 @@ function(copy_yuzu_Qt5_deps target_dir) include(WindowsCopyFiles) - set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/$<CONFIG>/") - set(Qt5_DLL_DIR "${Qt5_DIR}/../../../bin") + if (MSVC) + set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/$<CONFIG>/") + set(Qt5_DLL_DIR "${Qt5_DIR}/../../../bin") + else() + set(DLL_DEST "${CMAKE_BINARY_DIR}/bin/") + set(Qt5_DLL_DIR "${Qt5_DIR}/../../../lib/") + endif() set(Qt5_PLATFORMS_DIR "${Qt5_DIR}/../../../plugins/platforms/") + set(Qt5_PLATFORMTHEMES_DIR "${Qt5_DIR}/../../../plugins/platformthemes/") + set(Qt5_PLATFORMINPUTCONTEXTS_DIR "${Qt5_DIR}/../../../plugins/platforminputcontexts/") + set(Qt5_XCBGLINTEGRATIONS_DIR "${Qt5_DIR}/../../../plugins/xcbglintegrations/") set(Qt5_STYLES_DIR "${Qt5_DIR}/../../../plugins/styles/") set(Qt5_IMAGEFORMATS_DIR "${Qt5_DIR}/../../../plugins/imageformats/") set(Qt5_RESOURCES_DIR "${Qt5_DIR}/../../../resources/") set(PLATFORMS ${DLL_DEST}plugins/platforms/) set(STYLES ${DLL_DEST}plugins/styles/) set(IMAGEFORMATS ${DLL_DEST}plugins/imageformats/) - windows_copy_files(${target_dir} ${Qt5_DLL_DIR} ${DLL_DEST} - icudt*.dll - icuin*.dll - icuuc*.dll - Qt5Core$<$<CONFIG:Debug>:d>.* - Qt5Gui$<$<CONFIG:Debug>:d>.* - Qt5Widgets$<$<CONFIG:Debug>:d>.* - ) - - if (YUZU_USE_QT_WEB_ENGINE) - windows_copy_files(${target_dir} ${Qt5_DLL_DIR} ${DLL_DEST} - Qt5Network$<$<CONFIG:Debug>:d>.* - Qt5Positioning$<$<CONFIG:Debug>:d>.* - Qt5PrintSupport$<$<CONFIG:Debug>:d>.* - Qt5Qml$<$<CONFIG:Debug>:d>.* - Qt5Quick$<$<CONFIG:Debug>:d>.* - Qt5QuickWidgets$<$<CONFIG:Debug>:d>.* - Qt5WebChannel$<$<CONFIG:Debug>:d>.* - Qt5WebEngine$<$<CONFIG:Debug>:d>.* - Qt5WebEngineCore$<$<CONFIG:Debug>:d>.* - Qt5WebEngineWidgets$<$<CONFIG:Debug>:d>.* - QtWebEngineProcess$<$<CONFIG:Debug>:d>.* + if (MSVC) + windows_copy_files(${target_dir} ${Qt5_DLL_DIR} ${DLL_DEST} + icudt*.dll + icuin*.dll + icuuc*.dll + Qt5Core$<$<CONFIG:Debug>:d>.* + Qt5Gui$<$<CONFIG:Debug>:d>.* + Qt5Widgets$<$<CONFIG:Debug>:d>.* ) - windows_copy_files(${target_dir} ${Qt5_RESOURCES_DIR} ${DLL_DEST} - qtwebengine_resources.pak - qtwebengine_devtools_resources.pak - qtwebengine_resources_100p.pak - qtwebengine_resources_200p.pak - icudtl.dat - ) - endif () - windows_copy_files(yuzu ${Qt5_PLATFORMS_DIR} ${PLATFORMS} qwindows$<$<CONFIG:Debug>:d>.*) - windows_copy_files(yuzu ${Qt5_STYLES_DIR} ${STYLES} qwindowsvistastyle$<$<CONFIG:Debug>:d>.*) - windows_copy_files(yuzu ${Qt5_IMAGEFORMATS_DIR} ${IMAGEFORMATS} - qjpeg$<$<CONFIG:Debug>:d>.* - qgif$<$<CONFIG:Debug>:d>.* - ) + if (YUZU_USE_QT_WEB_ENGINE) + windows_copy_files(${target_dir} ${Qt5_DLL_DIR} ${DLL_DEST} + Qt5Network$<$<CONFIG:Debug>:d>.* + Qt5Positioning$<$<CONFIG:Debug>:d>.* + Qt5PrintSupport$<$<CONFIG:Debug>:d>.* + Qt5Qml$<$<CONFIG:Debug>:d>.* + Qt5Quick$<$<CONFIG:Debug>:d>.* + Qt5QuickWidgets$<$<CONFIG:Debug>:d>.* + Qt5WebChannel$<$<CONFIG:Debug>:d>.* + Qt5WebEngine$<$<CONFIG:Debug>:d>.* + Qt5WebEngineCore$<$<CONFIG:Debug>:d>.* + Qt5WebEngineWidgets$<$<CONFIG:Debug>:d>.* + QtWebEngineProcess$<$<CONFIG:Debug>:d>.* + ) + + windows_copy_files(${target_dir} ${Qt5_RESOURCES_DIR} ${DLL_DEST} + qtwebengine_resources.pak + qtwebengine_devtools_resources.pak + qtwebengine_resources_100p.pak + qtwebengine_resources_200p.pak + icudtl.dat + ) + endif () + windows_copy_files(yuzu ${Qt5_PLATFORMS_DIR} ${PLATFORMS} qwindows$<$<CONFIG:Debug>:d>.*) + windows_copy_files(yuzu ${Qt5_STYLES_DIR} ${STYLES} qwindowsvistastyle$<$<CONFIG:Debug>:d>.*) + windows_copy_files(yuzu ${Qt5_IMAGEFORMATS_DIR} ${IMAGEFORMATS} + qjpeg$<$<CONFIG:Debug>:d>.* + qgif$<$<CONFIG:Debug>:d>.* + ) + else() + set(Qt5_DLLS + "${Qt5_DLL_DIR}libQt5Core.so.5" + "${Qt5_DLL_DIR}libQt5DBus.so.5" + "${Qt5_DLL_DIR}libQt5Gui.so.5" + "${Qt5_DLL_DIR}libQt5Widgets.so.5" + "${Qt5_DLL_DIR}libQt5XcbQpa.so.5" + "${Qt5_DLL_DIR}libicudata.so.60" + "${Qt5_DLL_DIR}libicui18n.so.60" + "${Qt5_DLL_DIR}libicuuc.so.60" + ) + set(Qt5_IMAGEFORMAT_DLLS + "${Qt5_IMAGEFORMATS_DIR}libqjpeg.so" + "${Qt5_IMAGEFORMATS_DIR}libqgif.so" + "${Qt5_IMAGEFORMATS_DIR}libqico.so" + ) + set(Qt5_PLATFORMTHEME_DLLS + "${Qt5_PLATFORMTHEMES_DIR}libqgtk3.so" + "${Qt5_PLATFORMTHEMES_DIR}libqxdgdesktopportal.so" + ) + set(Qt5_PLATFORM_DLLS + "${Qt5_PLATFORMS_DIR}libqxcb.so" + ) + set(Qt5_PLATFORMINPUTCONTEXT_DLLS + "${Qt5_PLATFORMINPUTCONTEXTS_DIR}libcomposeplatforminputcontextplugin.so" + "${Qt5_PLATFORMINPUTCONTEXTS_DIR}libibusplatforminputcontextplugin.so" + ) + set(Qt5_XCBGLINTEGRATION_DLLS + "${Qt5_XCBGLINTEGRATIONS_DIR}libqxcb-glx-integration.so" + ) + foreach(LIB ${Qt5_DLLS}) + file(COPY ${LIB} DESTINATION "${DLL_DEST}/lib" FOLLOW_SYMLINK_CHAIN) + endforeach() + foreach(LIB ${Qt5_IMAGEFORMAT_DLLS}) + file(COPY ${LIB} DESTINATION "${DLL_DEST}plugins/imageformats/" FOLLOW_SYMLINK_CHAIN) + endforeach() + foreach(LIB ${Qt5_PLATFORMTHEME_DLLS}) + file(COPY ${LIB} DESTINATION "${DLL_DEST}plugins/platformthemes/" FOLLOW_SYMLINK_CHAIN) + endforeach() + foreach(LIB ${Qt5_PLATFORM_DLLS}) + file(COPY ${LIB} DESTINATION "${DLL_DEST}plugins/platforms/" FOLLOW_SYMLINK_CHAIN) + endforeach() + foreach(LIB ${Qt5_PLATFORMINPUTCONTEXT_DLLS}) + file(COPY ${LIB} DESTINATION "${DLL_DEST}plugins/platforminputcontexts/" FOLLOW_SYMLINK_CHAIN) + endforeach() + foreach(LIB ${Qt5_XCBGLINTEGRATION_DLLS}) + file(COPY ${LIB} DESTINATION "${DLL_DEST}plugins/xcbglintegrations/" FOLLOW_SYMLINK_CHAIN) + endforeach() + + endif() # Create an empty qt.conf file. Qt will detect that this file exists, and use the folder that its in as the root folder. # This way it'll look for plugins in the root/plugins/ folder add_custom_command(TARGET yuzu POST_BUILD |