diff options
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  | 
