Merge pull request #11063 from shuffle2/vcredist
windows: distribute vcredist loose files
This commit is contained in:
commit
1efb5b8800
|
@ -337,3 +337,8 @@ proprietary programs. If your program is a subroutine library, you may
|
|||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
|
||||
|
||||
This program uses VC++ Redistributable code. The license for those object
|
||||
files can be found at:
|
||||
https://visualstudio.microsoft.com/license-terms/vs2022-ga-community/
|
||||
|
|
|
@ -154,20 +154,6 @@ Section "Base" SEC01
|
|||
|
||||
SetOutPath "$TEMP"
|
||||
SetOverwrite on
|
||||
File /r "dxredist"
|
||||
File /r "vcredist"
|
||||
SectionEnd
|
||||
|
||||
Section "DirectX Runtime" SEC02
|
||||
DetailPrint "Running DirectX runtime setup..."
|
||||
ExecWait '"$TEMP\dxredist\DXSETUP.exe" /silent'
|
||||
DetailPrint "Finished DirectX runtime setup"
|
||||
SectionEnd
|
||||
|
||||
Section "Visual C++ 2015 Redistributable" SEC03
|
||||
DetailPrint "Running Visual C++ 2015 Redistributable setup..."
|
||||
ExecWait '"$TEMP\vcredist\vc_redist.x64.exe" /install /quiet /norestart'
|
||||
DetailPrint "Finished Visual C++ 2015 Redistributable setup"
|
||||
SectionEnd
|
||||
|
||||
Section -AdditionalIcons
|
||||
|
@ -193,8 +179,6 @@ SectionEnd
|
|||
; Section descriptions
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "Installs all files required to run the Dolphin Emulator."
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SEC02} "Installs the recommended DirectX runtime libraries that are needed by Dolphin."
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SEC03} "Installs the required Visual C++ 2015 Redistributable that is needed by Dolphin."
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
||||
|
||||
Section Uninstall
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,3 @@
|
|||
This program uses VC++ Redistributable code. The license for those object
|
||||
files can be found at:
|
||||
https://visualstudio.microsoft.com/license-terms/vs2022-ga-community/
|
|
@ -440,6 +440,28 @@ if(WIN32)
|
|||
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/qt.conf.win" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/qt.conf"
|
||||
)
|
||||
|
||||
# Copy VC++ Redist.
|
||||
# NOTE This *intentionally* does not copy debug redist files.
|
||||
# TODO This should really occur for any executable target.
|
||||
# TODO Actually use cmake 'install' and InstallRequiredSystemLibraries.
|
||||
if(MSVC_C_ARCHITECTURE_ID)
|
||||
string(TOLOWER "${MSVC_C_ARCHITECTURE_ID}" CMAKE_MSVC_ARCH)
|
||||
elseif(MSVC_CXX_ARCHITECTURE_ID)
|
||||
string(TOLOWER "${MSVC_CXX_ARCHITECTURE_ID}" CMAKE_MSVC_ARCH)
|
||||
else()
|
||||
set(CMAKE_MSVC_ARCH x86)
|
||||
endif()
|
||||
set(MSVC_REDIST_NAME VC${MSVC_TOOLSET_VERSION})
|
||||
find_path(MSVC_REDIST_DIR NAMES ${CMAKE_MSVC_ARCH}/Microsoft.${MSVC_REDIST_NAME}.CRT)
|
||||
mark_as_advanced(MSVC_REDIST_DIR)
|
||||
set(MSVC_CRT_DIR "${MSVC_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.${MSVC_REDIST_NAME}.CRT")
|
||||
file(GLOB MSVC_REDIST_DLLS "${MSVC_CRT_DIR}/*.dll")
|
||||
foreach(MsvcRedistDll IN LISTS MSVC_REDIST_DLLS)
|
||||
add_custom_command(TARGET dolphin-emu POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${MsvcRedistDll}" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}"
|
||||
)
|
||||
endforeach()
|
||||
|
||||
# Delegate to Qt's official deployment binary on Windows to copy over the necessary Qt-specific libraries, etc.
|
||||
get_target_property(MOC_EXECUTABLE_LOCATION Qt${QT_VERSION_MAJOR}::moc IMPORTED_LOCATION)
|
||||
get_filename_component(QT_BINARY_DIRECTORY "${MOC_EXECUTABLE_LOCATION}" DIRECTORY)
|
||||
|
|
|
@ -84,4 +84,16 @@
|
|||
<AdditionalOptions>/NODEFAULTLIB:msvcrt %(AdditionalOptions)</AdditionalOptions>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
|
||||
<Target Name="CopyVCRedist" AfterTargets="Build" Condition="'$(ConfigurationType)'=='Application'">
|
||||
<ItemGroup>
|
||||
<VCRedistSourceFiles
|
||||
Include="$(VCToolsRedistInstallDir)$(Platform)\Microsoft.VC$(PlatformToolsetVersion).CRT\*.dll" />
|
||||
</ItemGroup>
|
||||
<Copy
|
||||
SourceFiles="@(VCRedistSourceFiles)"
|
||||
DestinationFolder="$(BinaryOutputDir)"
|
||||
SkipUnchangedFiles="true"
|
||||
/>
|
||||
</Target>
|
||||
</Project>
|
||||
|
|
Loading…
Reference in New Issue