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
|
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
|
library. If this is what you want to do, use the GNU Lesser General
|
||||||
Public License instead of this License.
|
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"
|
SetOutPath "$TEMP"
|
||||||
SetOverwrite on
|
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
|
SectionEnd
|
||||||
|
|
||||||
Section -AdditionalIcons
|
Section -AdditionalIcons
|
||||||
|
@ -193,8 +179,6 @@ SectionEnd
|
||||||
; Section descriptions
|
; Section descriptions
|
||||||
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
||||||
!insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "Installs all files required to run the Dolphin Emulator."
|
!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
|
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
||||||
|
|
||||||
Section Uninstall
|
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"
|
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.
|
# 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_target_property(MOC_EXECUTABLE_LOCATION Qt${QT_VERSION_MAJOR}::moc IMPORTED_LOCATION)
|
||||||
get_filename_component(QT_BINARY_DIRECTORY "${MOC_EXECUTABLE_LOCATION}" DIRECTORY)
|
get_filename_component(QT_BINARY_DIRECTORY "${MOC_EXECUTABLE_LOCATION}" DIRECTORY)
|
||||||
|
|
|
@ -84,4 +84,16 @@
|
||||||
<AdditionalOptions>/NODEFAULTLIB:msvcrt %(AdditionalOptions)</AdditionalOptions>
|
<AdditionalOptions>/NODEFAULTLIB:msvcrt %(AdditionalOptions)</AdditionalOptions>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</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>
|
</Project>
|
||||||
|
|
Loading…
Reference in New Issue