mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-17 08:11:51 +00:00
Deploy QT DLLs using windeployqt tool (#3432)
* Deploy QT DLLs using windeployqt tool Replace the old mechanism that manually copy the DLLs using either CMake or VS built-in functions. The new approach uses the windeployqt tool provided by the QT project that automatically detect the needed DLLs and perform the necessary copying. This approach should be more robust if there's an upstream change on QT project regarding DLLs usage. * QT DLLs: do not ship RPCS3 with ANGLE and software-OpenGL According to https://doc.qt.io/qt-5/windows-requirements.html ANGLE is useful for applications that use OpenGL ES by removing the need to install OpenGL drivers, redirecting OpenGL calls to DirectX instead. RPCS does not uses OpenGL ES so it's better to just remove it from the binary distribution. opengl32sw.dll is a fallback mechanism when ANGLE libraries are not available that uses a software backend for OpenGL. It's unlikely that RPCS3 will work using software-OpenGL, so there's little point into shipping them. * QT DLLs: do not ship with SVG and translation files Like the other removed QT libraries: they are not needed right now. We can deploy them if they become useful someday.
This commit is contained in:
parent
3499d089e7
commit
daa7520d1d
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -413,27 +413,17 @@ set_target_properties(rpcs3 PROPERTIES COTIRE_CXX_PREFIX_HEADER_INIT "${RPCS3_SR
|
||||
|
||||
if (MSVC)
|
||||
# Under Windows, some QT DLLs need to be in the same directory of the compiled
|
||||
# RPCS3 binary, so copy them from the local QT installation at the end of the
|
||||
# build
|
||||
# RPCS3 binary, so call the windeployqt tool that will take care of copying
|
||||
# them from the local QT installation at the end of the build.
|
||||
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
# debug build uses different DDLs files
|
||||
set (RUNTIME_DLLS
|
||||
$ENV{QTDIR}/bin/Qt5Cored.dll
|
||||
$ENV{QTDIR}/bin/Qt5Guid.dll
|
||||
$ENV{QTDIR}/bin/Qt5Widgetsd.dll
|
||||
$ENV{QTDIR}/bin/Qt5WinExtrasd.dll
|
||||
add_custom_command(TARGET rpcs3 POST_BUILD
|
||||
COMMAND $ENV{QTDIR}/bin/windeployqt --no-angle --no-opengl-sw --no-svg --no-translations --debug ${CMAKE_BINARY_DIR}/bin
|
||||
)
|
||||
else()
|
||||
set (RUNTIME_DLLS
|
||||
$ENV{QTDIR}/bin/Qt5Core.dll
|
||||
$ENV{QTDIR}/bin/Qt5Gui.dll
|
||||
$ENV{QTDIR}/bin/Qt5Widgets.dll
|
||||
$ENV{QTDIR}/bin/Qt5WinExtras.dll
|
||||
add_custom_command(TARGET rpcs3 POST_BUILD
|
||||
COMMAND $ENV{QTDIR}/bin/windeployqt --no-angle --no-opengl-sw --no-svg --no-translations ${CMAKE_BINARY_DIR}/bin
|
||||
)
|
||||
endif()
|
||||
add_custom_command(TARGET rpcs3 POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${RUNTIME_DLLS} ${CMAKE_BINARY_DIR}/bin
|
||||
)
|
||||
endif()
|
||||
|
||||
cotire(rpcs3)
|
||||
|
@ -166,10 +166,7 @@
|
||||
</ResourceCompile>
|
||||
<PostBuildEvent>
|
||||
<Command>
|
||||
xcopy "$(QTDIR)\bin\Qt5Core.dll" "$(OutDir)" /d
|
||||
xcopy "$(QTDIR)\bin\Qt5Gui.dll" "$(OutDir)" /d
|
||||
xcopy "$(QTDIR)\bin\Qt5Widgets.dll" "$(OutDir)" /d
|
||||
xcopy "$(QTDIR)\bin\Qt5WinExtras.dll" "$(OutDir)" /d
|
||||
$(QTDIR)\bin\windeployqt --no-angle --no-opengl-sw --no-svg --no-translations $(OutDir)
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
<PostBuildEvent>
|
||||
@ -221,10 +218,7 @@
|
||||
</ResourceCompile>
|
||||
<PostBuildEvent>
|
||||
<Command>
|
||||
xcopy "$(QTDIR)\bin\Qt5Core.dll" "$(OutDir)" /d
|
||||
xcopy "$(QTDIR)\bin\Qt5Gui.dll" "$(OutDir)" /d
|
||||
xcopy "$(QTDIR)\bin\Qt5Widgets.dll" "$(OutDir)" /d
|
||||
xcopy "$(QTDIR)\bin\Qt5WinExtras.dll" "$(OutDir)" /d
|
||||
$(QTDIR)\bin\windeployqt --no-angle --no-opengl-sw --no-svg --no-translations $(OutDir)
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
<PostBuildEvent>
|
||||
@ -277,10 +271,7 @@
|
||||
</ResourceCompile>
|
||||
<PostBuildEvent>
|
||||
<Command>
|
||||
xcopy "$(QTDIR)\bin\Qt5Cored.dll" "$(OutDir)" /d
|
||||
xcopy "$(QTDIR)\bin\Qt5Guid.dll" "$(OutDir)" /d
|
||||
xcopy "$(QTDIR)\bin\Qt5Widgetsd.dll" "$(OutDir)" /d
|
||||
xcopy "$(QTDIR)\bin\Qt5WinExtrasd.dll" "$(OutDir)" /d
|
||||
$(QTDIR)\bin\windeployqt --no-angle --no-opengl-sw --no-svg --no-translations --debug $(OutDir)
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
<PostBuildEvent>
|
||||
@ -333,10 +324,7 @@
|
||||
</ResourceCompile>
|
||||
<PostBuildEvent>
|
||||
<Command>
|
||||
xcopy "$(QTDIR)\bin\Qt5Cored.dll" "$(OutDir)" /d
|
||||
xcopy "$(QTDIR)\bin\Qt5Guid.dll" "$(OutDir)" /d
|
||||
xcopy "$(QTDIR)\bin\Qt5Widgetsd.dll" "$(OutDir)" /d
|
||||
xcopy "$(QTDIR)\bin\Qt5WinExtrasd.dll" "$(OutDir)" /d
|
||||
$(QTDIR)\bin\windeployqt --no-angle --no-opengl-sw --no-svg --no-translations --debug $(OutDir)
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
<PostBuildEvent>
|
||||
|
Loading…
Reference in New Issue
Block a user