3rdparty: Add zstd

This commit is contained in:
Connor McLaughlin 2022-04-12 18:07:19 +10:00 committed by refractionpcsx2
parent 80aaa962ec
commit a22c634cd4
12 changed files with 261 additions and 3 deletions

3
.gitmodules vendored
View File

@ -36,3 +36,6 @@
[submodule "3rdparty/libzip/libzip"] [submodule "3rdparty/libzip/libzip"]
path = 3rdparty/libzip/libzip path = 3rdparty/libzip/libzip
url = https://github.com/nih-at/libzip.git url = https://github.com/nih-at/libzip.git
[submodule "3rdparty/zstd/zstd"]
path = 3rdparty/zstd/zstd
url = https://github.com/facebook/zstd.git

View File

@ -7,7 +7,7 @@ set(ENABLE_MBEDTLS OFF CACHE BOOL "")
set(ENABLE_WINDOWS_CRYPTO OFF CACHE BOOL "") set(ENABLE_WINDOWS_CRYPTO OFF CACHE BOOL "")
set(ENABLE_BZIP2 OFF CACHE BOOL "") set(ENABLE_BZIP2 OFF CACHE BOOL "")
set(ENABLE_LZMA OFF CACHE BOOL "") set(ENABLE_LZMA OFF CACHE BOOL "")
set(ENABLE_ZSTD OFF CACHE BOOL "") set(ENABLE_ZSTD ON CACHE BOOL "")
set(BUILD_TOOLS OFF CACHE BOOL "") set(BUILD_TOOLS OFF CACHE BOOL "")
set(BUILD_REGRESS OFF CACHE BOOL "") set(BUILD_REGRESS OFF CACHE BOOL "")
@ -21,4 +21,10 @@ if(WIN32)
set(ZLIB_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/zlib") set(ZLIB_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/zlib")
endif() endif()
# Fill in the location of zstd, so find_package() doesn't try to use
# a potentially-old system version. It also picks up Zstd::Zstd.
set(Zstd_FOUND TRUE)
set(Zstd_LIBRARY "$<TARGET_FILE:pcsx2-zstd>")
set(Zstd_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../zstd/zstd/lib")
add_subdirectory(libzip EXCLUDE_FROM_ALL) add_subdirectory(libzip EXCLUDE_FROM_ALL)

View File

@ -33,6 +33,7 @@
<ClCompile Include="libzip\lib\zip_add_dir.c" /> <ClCompile Include="libzip\lib\zip_add_dir.c" />
<ClCompile Include="libzip\lib\zip_add_entry.c" /> <ClCompile Include="libzip\lib\zip_add_entry.c" />
<ClCompile Include="libzip\lib\zip_algorithm_deflate.c" /> <ClCompile Include="libzip\lib\zip_algorithm_deflate.c" />
<ClCompile Include="libzip\lib\zip_algorithm_zstd.c" />
<ClCompile Include="libzip\lib\zip_buffer.c" /> <ClCompile Include="libzip\lib\zip_buffer.c" />
<ClCompile Include="libzip\lib\zip_close.c" /> <ClCompile Include="libzip\lib\zip_close.c" />
<ClCompile Include="libzip\lib\zip_crypto_win.c" /> <ClCompile Include="libzip\lib\zip_crypto_win.c" />
@ -161,11 +162,16 @@
<ClInclude Include="private\config.h" /> <ClInclude Include="private\config.h" />
<ClInclude Include="zipconf.h" /> <ClInclude Include="zipconf.h" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\zstd\zstd.vcxproj">
<Project>{52244028-937a-44e9-a76b-2bea18fd239a}</Project>
</ProjectReference>
</ItemGroup>
<ItemDefinitionGroup> <ItemDefinitionGroup>
<ClCompile> <ClCompile>
<PreprocessorDefinitions>ZIP_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>ZIP_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>TurnOffAllWarnings</WarningLevel> <WarningLevel>TurnOffAllWarnings</WarningLevel>
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\zlib;$(ProjectDir)private;$(ProjectDir)libzip\lib;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>$(SolutionDir)3rdparty\zstd\zstd\lib;$(SolutionDir)3rdparty\zlib;$(ProjectDir)private;$(ProjectDir)libzip\lib;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

View File

@ -120,6 +120,7 @@
<ClCompile Include="libzip\lib\zip_string.c" /> <ClCompile Include="libzip\lib\zip_string.c" />
<ClCompile Include="libzip\lib\zip_unchange.c" /> <ClCompile Include="libzip\lib\zip_unchange.c" />
<ClCompile Include="private\zip_err_str.c" /> <ClCompile Include="private\zip_err_str.c" />
<ClCompile Include="libzip\lib\zip_algorithm_zstd.c" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="libzip\lib\zipint.h" /> <ClInclude Include="libzip\lib\zipint.h" />

View File

@ -30,7 +30,7 @@
/* #undef HAVE_GNUTLS */ /* #undef HAVE_GNUTLS */
/* #undef HAVE_LIBBZ2 */ /* #undef HAVE_LIBBZ2 */
/* #undef HAVE_LIBLZMA */ /* #undef HAVE_LIBLZMA */
/* #undef HAVE_LIBZSTD */ #define HAVE_LIBZSTD
/* #undef HAVE_LOCALTIME_R */ /* #undef HAVE_LOCALTIME_R */
/* #undef HAVE_MBEDTLS */ /* #undef HAVE_MBEDTLS */
/* #undef HAVE_MKSTEMP */ /* #undef HAVE_MKSTEMP */

37
3rdparty/zstd/CMakeLists.txt vendored Normal file
View File

@ -0,0 +1,37 @@
enable_language(C ASM)
add_library(pcsx2-zstd
zstd/lib/common/debug.c
zstd/lib/common/entropy_common.c
zstd/lib/common/error_private.c
zstd/lib/common/fse_decompress.c
zstd/lib/common/pool.c
zstd/lib/common/threading.c
zstd/lib/common/xxhash.c
zstd/lib/common/zstd_common.c
zstd/lib/compress/fse_compress.c
zstd/lib/compress/hist.c
zstd/lib/compress/huf_compress.c
zstd/lib/compress/zstd_compress.c
zstd/lib/compress/zstd_compress_literals.c
zstd/lib/compress/zstd_compress_sequences.c
zstd/lib/compress/zstd_compress_superblock.c
zstd/lib/compress/zstd_double_fast.c
zstd/lib/compress/zstd_fast.c
zstd/lib/compress/zstd_lazy.c
zstd/lib/compress/zstd_ldm.c
zstd/lib/compress/zstdmt_compress.c
zstd/lib/compress/zstd_opt.c
zstd/lib/decompress/huf_decompress.c
zstd/lib/decompress/zstd_ddict.c
zstd/lib/decompress/zstd_decompress_block.c
zstd/lib/decompress/zstd_decompress.c
)
if(NOT MSVC AND ${PCSX2_TARGET_ARCHITECTURES} MATCHES "x86_64")
target_sources(pcsx2-zstd PRIVATE zstd/lib/decompress/huf_decompress_amd64.S)
endif()
target_include_directories(pcsx2-zstd PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/zstd/lib")
add_library(Zstd::Zstd ALIAS pcsx2-zstd)

1
3rdparty/zstd/zstd vendored Submodule

@ -0,0 +1 @@
Subproject commit e47e674cd09583ff0503f0f6defd6d23d8b718d3

104
3rdparty/zstd/zstd.vcxproj vendored Normal file
View File

@ -0,0 +1,104 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(SolutionDir)common\vsprops\BaseProjectConfig.props" />
<Import Project="$(SolutionDir)common\vsprops\WinSDK.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{52244028-937A-44E9-A76B-2BEA18FD239A}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization Condition="$(Configuration.Contains(Release))">true</WholeProgramOptimization>
<UseDebugLibraries Condition="$(Configuration.Contains(Debug))">true</UseDebugLibraries>
<UseDebugLibraries Condition="!$(Configuration.Contains(Debug))">false</UseDebugLibraries>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="PropertySheets">
<Import Project="..\DefaultProjectRootDir.props" />
<Import Project="..\3rdparty.props" />
<Import Condition="$(Configuration.Contains(Debug))" Project="..\..\common\vsprops\CodeGen_Debug.props" />
<Import Condition="$(Configuration.Contains(Devel))" Project="..\..\common\vsprops\CodeGen_Devel.props" />
<Import Condition="$(Configuration.Contains(Release))" Project="..\..\common\vsprops\CodeGen_Release.props" />
<Import Condition="!$(Configuration.Contains(Release))" Project="..\..\common\vsprops\IncrementalLinking.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<ClInclude Include="zstd\lib\common\bitstream.h" />
<ClInclude Include="zstd\lib\common\compiler.h" />
<ClInclude Include="zstd\lib\common\cpu.h" />
<ClInclude Include="zstd\lib\common\debug.h" />
<ClInclude Include="zstd\lib\common\error_private.h" />
<ClInclude Include="zstd\lib\common\fse.h" />
<ClInclude Include="zstd\lib\common\huf.h" />
<ClInclude Include="zstd\lib\common\mem.h" />
<ClInclude Include="zstd\lib\common\pool.h" />
<ClInclude Include="zstd\lib\common\portability_macros.h" />
<ClInclude Include="zstd\lib\common\threading.h" />
<ClInclude Include="zstd\lib\common\xxhash.h" />
<ClInclude Include="zstd\lib\common\zstd_deps.h" />
<ClInclude Include="zstd\lib\common\zstd_internal.h" />
<ClInclude Include="zstd\lib\common\zstd_trace.h" />
<ClInclude Include="zstd\lib\compress\clevels.h" />
<ClInclude Include="zstd\lib\compress\hist.h" />
<ClInclude Include="zstd\lib\compress\zstdmt_compress.h" />
<ClInclude Include="zstd\lib\compress\zstd_compress_internal.h" />
<ClInclude Include="zstd\lib\compress\zstd_compress_literals.h" />
<ClInclude Include="zstd\lib\compress\zstd_compress_sequences.h" />
<ClInclude Include="zstd\lib\compress\zstd_compress_superblock.h" />
<ClInclude Include="zstd\lib\compress\zstd_cwksp.h" />
<ClInclude Include="zstd\lib\compress\zstd_double_fast.h" />
<ClInclude Include="zstd\lib\compress\zstd_fast.h" />
<ClInclude Include="zstd\lib\compress\zstd_lazy.h" />
<ClInclude Include="zstd\lib\compress\zstd_ldm.h" />
<ClInclude Include="zstd\lib\compress\zstd_ldm_geartab.h" />
<ClInclude Include="zstd\lib\compress\zstd_opt.h" />
<ClInclude Include="zstd\lib\decompress\zstd_ddict.h" />
<ClInclude Include="zstd\lib\decompress\zstd_decompress_block.h" />
<ClInclude Include="zstd\lib\decompress\zstd_decompress_internal.h" />
<ClInclude Include="zstd\lib\zdict.h" />
<ClInclude Include="zstd\lib\zstd.h" />
<ClInclude Include="zstd\lib\zstd_errors.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="zstd\lib\common\debug.c" />
<ClCompile Include="zstd\lib\common\entropy_common.c" />
<ClCompile Include="zstd\lib\common\error_private.c" />
<ClCompile Include="zstd\lib\common\fse_decompress.c" />
<ClCompile Include="zstd\lib\common\pool.c" />
<ClCompile Include="zstd\lib\common\threading.c" />
<ClCompile Include="zstd\lib\common\xxhash.c" />
<ClCompile Include="zstd\lib\common\zstd_common.c" />
<ClCompile Include="zstd\lib\compress\fse_compress.c" />
<ClCompile Include="zstd\lib\compress\hist.c" />
<ClCompile Include="zstd\lib\compress\huf_compress.c" />
<ClCompile Include="zstd\lib\compress\zstdmt_compress.c" />
<ClCompile Include="zstd\lib\compress\zstd_compress.c" />
<ClCompile Include="zstd\lib\compress\zstd_compress_literals.c" />
<ClCompile Include="zstd\lib\compress\zstd_compress_sequences.c" />
<ClCompile Include="zstd\lib\compress\zstd_compress_superblock.c" />
<ClCompile Include="zstd\lib\compress\zstd_double_fast.c" />
<ClCompile Include="zstd\lib\compress\zstd_fast.c" />
<ClCompile Include="zstd\lib\compress\zstd_lazy.c" />
<ClCompile Include="zstd\lib\compress\zstd_ldm.c" />
<ClCompile Include="zstd\lib\compress\zstd_opt.c" />
<ClCompile Include="zstd\lib\decompress\huf_decompress.c" />
<ClCompile Include="zstd\lib\decompress\zstd_ddict.c" />
<ClCompile Include="zstd\lib\decompress\zstd_decompress.c" />
<ClCompile Include="zstd\lib\decompress\zstd_decompress_block.c" />
</ItemGroup>
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>TurnOffAllWarnings</WarningLevel>
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\zstd\zstd\lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

67
3rdparty/zstd/zstd.vcxproj.filters vendored Normal file
View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClInclude Include="zstd\lib\zdict.h" />
<ClInclude Include="zstd\lib\zstd.h" />
<ClInclude Include="zstd\lib\zstd_errors.h" />
<ClInclude Include="zstd\lib\common\pool.h" />
<ClInclude Include="zstd\lib\common\portability_macros.h" />
<ClInclude Include="zstd\lib\common\threading.h" />
<ClInclude Include="zstd\lib\common\xxhash.h" />
<ClInclude Include="zstd\lib\common\zstd_deps.h" />
<ClInclude Include="zstd\lib\common\zstd_internal.h" />
<ClInclude Include="zstd\lib\common\zstd_trace.h" />
<ClInclude Include="zstd\lib\common\bitstream.h" />
<ClInclude Include="zstd\lib\common\compiler.h" />
<ClInclude Include="zstd\lib\common\cpu.h" />
<ClInclude Include="zstd\lib\common\debug.h" />
<ClInclude Include="zstd\lib\common\error_private.h" />
<ClInclude Include="zstd\lib\common\fse.h" />
<ClInclude Include="zstd\lib\common\huf.h" />
<ClInclude Include="zstd\lib\common\mem.h" />
<ClInclude Include="zstd\lib\compress\zstd_compress_internal.h" />
<ClInclude Include="zstd\lib\compress\zstd_compress_literals.h" />
<ClInclude Include="zstd\lib\compress\zstd_compress_sequences.h" />
<ClInclude Include="zstd\lib\compress\zstd_compress_superblock.h" />
<ClInclude Include="zstd\lib\compress\zstd_cwksp.h" />
<ClInclude Include="zstd\lib\compress\zstd_double_fast.h" />
<ClInclude Include="zstd\lib\compress\zstd_fast.h" />
<ClInclude Include="zstd\lib\compress\zstd_lazy.h" />
<ClInclude Include="zstd\lib\compress\zstd_ldm.h" />
<ClInclude Include="zstd\lib\compress\zstd_ldm_geartab.h" />
<ClInclude Include="zstd\lib\compress\zstd_opt.h" />
<ClInclude Include="zstd\lib\compress\zstdmt_compress.h" />
<ClInclude Include="zstd\lib\compress\clevels.h" />
<ClInclude Include="zstd\lib\compress\hist.h" />
<ClInclude Include="zstd\lib\decompress\zstd_ddict.h" />
<ClInclude Include="zstd\lib\decompress\zstd_decompress_block.h" />
<ClInclude Include="zstd\lib\decompress\zstd_decompress_internal.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="zstd\lib\common\pool.c" />
<ClCompile Include="zstd\lib\common\threading.c" />
<ClCompile Include="zstd\lib\common\xxhash.c" />
<ClCompile Include="zstd\lib\common\zstd_common.c" />
<ClCompile Include="zstd\lib\common\debug.c" />
<ClCompile Include="zstd\lib\common\entropy_common.c" />
<ClCompile Include="zstd\lib\common\error_private.c" />
<ClCompile Include="zstd\lib\common\fse_decompress.c" />
<ClCompile Include="zstd\lib\compress\zstd_compress_literals.c" />
<ClCompile Include="zstd\lib\compress\zstd_compress_sequences.c" />
<ClCompile Include="zstd\lib\compress\zstd_compress_superblock.c" />
<ClCompile Include="zstd\lib\compress\zstd_double_fast.c" />
<ClCompile Include="zstd\lib\compress\zstd_fast.c" />
<ClCompile Include="zstd\lib\compress\zstd_lazy.c" />
<ClCompile Include="zstd\lib\compress\zstd_ldm.c" />
<ClCompile Include="zstd\lib\compress\zstd_opt.c" />
<ClCompile Include="zstd\lib\compress\zstdmt_compress.c" />
<ClCompile Include="zstd\lib\compress\fse_compress.c" />
<ClCompile Include="zstd\lib\compress\hist.c" />
<ClCompile Include="zstd\lib\compress\huf_compress.c" />
<ClCompile Include="zstd\lib\compress\zstd_compress.c" />
<ClCompile Include="zstd\lib\decompress\huf_decompress.c" />
<ClCompile Include="zstd\lib\decompress\zstd_ddict.c" />
<ClCompile Include="zstd\lib\decompress\zstd_decompress.c" />
<ClCompile Include="zstd\lib\decompress\zstd_decompress_block.c" />
</ItemGroup>
</Project>

View File

@ -60,6 +60,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL", "3rdparty\sdl2\SDL.vc
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libzip", "3rdparty\libzip\libzip.vcxproj", "{20B2E9FE-F020-42A0-B324-956F5B06EA68}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libzip", "3rdparty\libzip\libzip.vcxproj", "{20B2E9FE-F020-42A0-B324-956F5B06EA68}"
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zstd", "3rdparty\zstd\zstd.vcxproj", "{52244028-937A-44E9-A76B-2BEA18FD239A}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug AVX2|x64 = Debug AVX2|x64 Debug AVX2|x64 = Debug AVX2|x64
@ -370,6 +372,18 @@ Global
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release AVX2|x64.Build.0 = Release|x64 {20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release AVX2|x64.Build.0 = Release|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release|x64.ActiveCfg = Release|x64 {20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release|x64.ActiveCfg = Release|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release|x64.Build.0 = Release|x64 {20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release|x64.Build.0 = Release|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Debug AVX2|x64.ActiveCfg = Debug|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Debug AVX2|x64.Build.0 = Debug|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Debug|x64.ActiveCfg = Debug|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Debug|x64.Build.0 = Debug|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Devel AVX2|x64.ActiveCfg = Devel|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Devel AVX2|x64.Build.0 = Devel|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Devel|x64.ActiveCfg = Devel|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Devel|x64.Build.0 = Devel|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Release AVX2|x64.ActiveCfg = Release|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Release AVX2|x64.Build.0 = Release|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Release|x64.ActiveCfg = Release|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Release|x64.Build.0 = Release|x64
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@ -397,6 +411,7 @@ Global
{EF6834A9-11F3-4331-BC34-21B325ABB180} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38} {EF6834A9-11F3-4331-BC34-21B325ABB180} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
{812B4434-FD6B-4CB2-8865-5FD8EB34B046} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38} {812B4434-FD6B-4CB2-8865-5FD8EB34B046} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
{20B2E9FE-F020-42A0-B324-956F5B06EA68} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38} {20B2E9FE-F020-42A0-B324-956F5B06EA68} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
{52244028-937A-44E9-A76B-2BEA18FD239A} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {0BC474EA-3628-45D3-9DBC-E22D0B7E0F77} SolutionGuid = {0BC474EA-3628-45D3-9DBC-E22D0B7E0F77}

View File

@ -64,6 +64,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glslang", "3rdparty\glslang
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libzip", "3rdparty\libzip\libzip.vcxproj", "{20B2E9FE-F020-42A0-B324-956F5B06EA68}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libzip", "3rdparty\libzip\libzip.vcxproj", "{20B2E9FE-F020-42A0-B324-956F5B06EA68}"
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zstd", "3rdparty\zstd\zstd.vcxproj", "{52244028-937A-44E9-A76B-2BEA18FD239A}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug AVX2|x64 = Debug AVX2|x64 Debug AVX2|x64 = Debug AVX2|x64
@ -374,6 +376,18 @@ Global
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release AVX2|x64.Build.0 = Release|x64 {20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release AVX2|x64.Build.0 = Release|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release|x64.ActiveCfg = Release|x64 {20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release|x64.ActiveCfg = Release|x64
{20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release|x64.Build.0 = Release|x64 {20B2E9FE-F020-42A0-B324-956F5B06EA68}.Release|x64.Build.0 = Release|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Debug AVX2|x64.ActiveCfg = Debug|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Debug AVX2|x64.Build.0 = Debug|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Debug|x64.ActiveCfg = Debug|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Debug|x64.Build.0 = Debug|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Devel AVX2|x64.ActiveCfg = Devel|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Devel AVX2|x64.Build.0 = Devel|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Devel|x64.ActiveCfg = Devel|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Devel|x64.Build.0 = Devel|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Release AVX2|x64.ActiveCfg = Release|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Release AVX2|x64.Build.0 = Release|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Release|x64.ActiveCfg = Release|x64
{52244028-937A-44E9-A76B-2BEA18FD239A}.Release|x64.Build.0 = Release|x64
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@ -402,6 +416,7 @@ Global
{88FB34EC-845E-4F21-A552-F1573B9ED167} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38} {88FB34EC-845E-4F21-A552-F1573B9ED167} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
{EF6834A9-11F3-4331-BC34-21B325ABB180} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38} {EF6834A9-11F3-4331-BC34-21B325ABB180} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
{20B2E9FE-F020-42A0-B324-956F5B06EA68} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38} {20B2E9FE-F020-42A0-B324-956F5B06EA68} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
{52244028-937A-44E9-A76B-2BEA18FD239A} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {0BC474EA-3628-45D3-9DBC-E22D0B7E0F77} SolutionGuid = {0BC474EA-3628-45D3-9DBC-E22D0B7E0F77}

View File

@ -238,6 +238,9 @@ if(NOT USE_SYSTEM_YAML)
endif() endif()
endif() endif()
# We could use a system version of zstd, but is it going to be recent enough?
add_subdirectory(3rdparty/zstd EXCLUDE_FROM_ALL)
if(QT_BUILD) if(QT_BUILD)
# Default to bundled Qt6 for Windows. # Default to bundled Qt6 for Windows.
if(WIN32 AND NOT DEFINED Qt6_DIR) if(WIN32 AND NOT DEFINED Qt6_DIR)