diff --git a/3rdparty/7zlib.vcxproj b/3rdparty/7z/7zlib.vcxproj
similarity index 68%
rename from 3rdparty/7zlib.vcxproj
rename to 3rdparty/7z/7zlib.vcxproj
index ef9910de55..6e063929bd 100644
--- a/3rdparty/7zlib.vcxproj
+++ b/3rdparty/7z/7zlib.vcxproj
@@ -19,89 +19,89 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
16.0
@@ -109,12 +109,12 @@
Win32Proj
My7zlib
-
+
x64
-
+
StaticLibrary
true
diff --git a/3rdparty/7zlib.vcxproj.filters b/3rdparty/7z/7zlib.vcxproj.filters
similarity index 62%
rename from 3rdparty/7zlib.vcxproj.filters
rename to 3rdparty/7z/7zlib.vcxproj.filters
index 29c66c5dd4..59e30f6cff 100644
--- a/3rdparty/7zlib.vcxproj.filters
+++ b/3rdparty/7z/7zlib.vcxproj.filters
@@ -15,249 +15,249 @@
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Header Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
-
+
Source Files
diff --git a/3rdparty/7z/CMakeLists.txt b/3rdparty/7z/CMakeLists.txt
new file mode 100644
index 0000000000..80979cfafd
--- /dev/null
+++ b/3rdparty/7z/CMakeLists.txt
@@ -0,0 +1,51 @@
+# 7z sdk
+if(WIN32)
+ add_library(3rdparty_7z STATIC EXCLUDE_FROM_ALL
+ src/Sha256.c
+ src/Ppmd7Dec.c
+ src/XzDec.c
+ src/XzEnc.c
+ src/Lzma2Dec.c
+ src/XzCrc64.c
+ src/DllSecur.c
+ src/Lzma2DecMt.c
+ src/BraIA64.c
+ src/7zFile.c
+ src/7zStream.c
+ src/Lzma86Enc.c
+ src/Threads.c
+ src/7zAlloc.c
+ src/LzmaEnc.c
+ src/MtCoder.c
+ src/Lzma86Dec.c
+ src/Sort.c
+ src/LzFindMt.c
+ src/7zDec.c
+ src/Bcj2.c
+ src/Ppmd7.c
+ src/Bra86.c
+ src/Bcj2Enc.c
+ src/7zBuf.c
+ src/Aes.c
+ src/AesOpt.c
+ src/XzCrc64Opt.c
+ src/7zArcIn.c
+ src/Lzma2Enc.c
+ src/Bra.c
+ src/7zCrcOpt.c
+ src/7zBuf2.c
+ src/LzFind.c
+ src/Ppmd7Enc.c
+ src/CpuArch.c
+ src/Delta.c
+ src/XzIn.c
+ src/Alloc.c
+ src/Xz.c
+ src/LzmaDec.c
+ src/LzmaLib.c
+ src/7zCrc.c
+ src/MtDec.c)
+ target_include_directories(3rdparty_7z INTERFACE 7z)
+else()
+ add_library(3rdparty_7z INTERFACE)
+endif()
diff --git a/3rdparty/7z/7z.h b/3rdparty/7z/src/7z.h
similarity index 100%
rename from 3rdparty/7z/7z.h
rename to 3rdparty/7z/src/7z.h
diff --git a/3rdparty/7z/7zAlloc.c b/3rdparty/7z/src/7zAlloc.c
similarity index 100%
rename from 3rdparty/7z/7zAlloc.c
rename to 3rdparty/7z/src/7zAlloc.c
diff --git a/3rdparty/7z/7zAlloc.h b/3rdparty/7z/src/7zAlloc.h
similarity index 100%
rename from 3rdparty/7z/7zAlloc.h
rename to 3rdparty/7z/src/7zAlloc.h
diff --git a/3rdparty/7z/7zArcIn.c b/3rdparty/7z/src/7zArcIn.c
similarity index 100%
rename from 3rdparty/7z/7zArcIn.c
rename to 3rdparty/7z/src/7zArcIn.c
diff --git a/3rdparty/7z/7zBuf.c b/3rdparty/7z/src/7zBuf.c
similarity index 100%
rename from 3rdparty/7z/7zBuf.c
rename to 3rdparty/7z/src/7zBuf.c
diff --git a/3rdparty/7z/7zBuf.h b/3rdparty/7z/src/7zBuf.h
similarity index 100%
rename from 3rdparty/7z/7zBuf.h
rename to 3rdparty/7z/src/7zBuf.h
diff --git a/3rdparty/7z/7zBuf2.c b/3rdparty/7z/src/7zBuf2.c
similarity index 100%
rename from 3rdparty/7z/7zBuf2.c
rename to 3rdparty/7z/src/7zBuf2.c
diff --git a/3rdparty/7z/7zCrc.c b/3rdparty/7z/src/7zCrc.c
similarity index 100%
rename from 3rdparty/7z/7zCrc.c
rename to 3rdparty/7z/src/7zCrc.c
diff --git a/3rdparty/7z/7zCrc.h b/3rdparty/7z/src/7zCrc.h
similarity index 100%
rename from 3rdparty/7z/7zCrc.h
rename to 3rdparty/7z/src/7zCrc.h
diff --git a/3rdparty/7z/7zCrcOpt.c b/3rdparty/7z/src/7zCrcOpt.c
similarity index 100%
rename from 3rdparty/7z/7zCrcOpt.c
rename to 3rdparty/7z/src/7zCrcOpt.c
diff --git a/3rdparty/7z/7zDec.c b/3rdparty/7z/src/7zDec.c
similarity index 100%
rename from 3rdparty/7z/7zDec.c
rename to 3rdparty/7z/src/7zDec.c
diff --git a/3rdparty/7z/7zFile.c b/3rdparty/7z/src/7zFile.c
similarity index 100%
rename from 3rdparty/7z/7zFile.c
rename to 3rdparty/7z/src/7zFile.c
diff --git a/3rdparty/7z/7zFile.h b/3rdparty/7z/src/7zFile.h
similarity index 100%
rename from 3rdparty/7z/7zFile.h
rename to 3rdparty/7z/src/7zFile.h
diff --git a/3rdparty/7z/7zStream.c b/3rdparty/7z/src/7zStream.c
similarity index 100%
rename from 3rdparty/7z/7zStream.c
rename to 3rdparty/7z/src/7zStream.c
diff --git a/3rdparty/7z/7zTypes.h b/3rdparty/7z/src/7zTypes.h
similarity index 100%
rename from 3rdparty/7z/7zTypes.h
rename to 3rdparty/7z/src/7zTypes.h
diff --git a/3rdparty/7z/7zVersion.h b/3rdparty/7z/src/7zVersion.h
similarity index 100%
rename from 3rdparty/7z/7zVersion.h
rename to 3rdparty/7z/src/7zVersion.h
diff --git a/3rdparty/7z/7zVersion.rc b/3rdparty/7z/src/7zVersion.rc
similarity index 100%
rename from 3rdparty/7z/7zVersion.rc
rename to 3rdparty/7z/src/7zVersion.rc
diff --git a/3rdparty/7z/Aes.c b/3rdparty/7z/src/Aes.c
similarity index 100%
rename from 3rdparty/7z/Aes.c
rename to 3rdparty/7z/src/Aes.c
diff --git a/3rdparty/7z/Aes.h b/3rdparty/7z/src/Aes.h
similarity index 100%
rename from 3rdparty/7z/Aes.h
rename to 3rdparty/7z/src/Aes.h
diff --git a/3rdparty/7z/AesOpt.c b/3rdparty/7z/src/AesOpt.c
similarity index 100%
rename from 3rdparty/7z/AesOpt.c
rename to 3rdparty/7z/src/AesOpt.c
diff --git a/3rdparty/7z/Alloc.c b/3rdparty/7z/src/Alloc.c
similarity index 100%
rename from 3rdparty/7z/Alloc.c
rename to 3rdparty/7z/src/Alloc.c
diff --git a/3rdparty/7z/Alloc.h b/3rdparty/7z/src/Alloc.h
similarity index 100%
rename from 3rdparty/7z/Alloc.h
rename to 3rdparty/7z/src/Alloc.h
diff --git a/3rdparty/7z/Bcj2.c b/3rdparty/7z/src/Bcj2.c
similarity index 100%
rename from 3rdparty/7z/Bcj2.c
rename to 3rdparty/7z/src/Bcj2.c
diff --git a/3rdparty/7z/Bcj2.h b/3rdparty/7z/src/Bcj2.h
similarity index 100%
rename from 3rdparty/7z/Bcj2.h
rename to 3rdparty/7z/src/Bcj2.h
diff --git a/3rdparty/7z/Bcj2Enc.c b/3rdparty/7z/src/Bcj2Enc.c
similarity index 100%
rename from 3rdparty/7z/Bcj2Enc.c
rename to 3rdparty/7z/src/Bcj2Enc.c
diff --git a/3rdparty/7z/Bra.c b/3rdparty/7z/src/Bra.c
similarity index 100%
rename from 3rdparty/7z/Bra.c
rename to 3rdparty/7z/src/Bra.c
diff --git a/3rdparty/7z/Bra.h b/3rdparty/7z/src/Bra.h
similarity index 100%
rename from 3rdparty/7z/Bra.h
rename to 3rdparty/7z/src/Bra.h
diff --git a/3rdparty/7z/Bra86.c b/3rdparty/7z/src/Bra86.c
similarity index 100%
rename from 3rdparty/7z/Bra86.c
rename to 3rdparty/7z/src/Bra86.c
diff --git a/3rdparty/7z/BraIA64.c b/3rdparty/7z/src/BraIA64.c
similarity index 100%
rename from 3rdparty/7z/BraIA64.c
rename to 3rdparty/7z/src/BraIA64.c
diff --git a/3rdparty/7z/Compiler.h b/3rdparty/7z/src/Compiler.h
similarity index 100%
rename from 3rdparty/7z/Compiler.h
rename to 3rdparty/7z/src/Compiler.h
diff --git a/3rdparty/7z/CpuArch.c b/3rdparty/7z/src/CpuArch.c
similarity index 100%
rename from 3rdparty/7z/CpuArch.c
rename to 3rdparty/7z/src/CpuArch.c
diff --git a/3rdparty/7z/CpuArch.h b/3rdparty/7z/src/CpuArch.h
similarity index 100%
rename from 3rdparty/7z/CpuArch.h
rename to 3rdparty/7z/src/CpuArch.h
diff --git a/3rdparty/7z/Delta.c b/3rdparty/7z/src/Delta.c
similarity index 100%
rename from 3rdparty/7z/Delta.c
rename to 3rdparty/7z/src/Delta.c
diff --git a/3rdparty/7z/Delta.h b/3rdparty/7z/src/Delta.h
similarity index 100%
rename from 3rdparty/7z/Delta.h
rename to 3rdparty/7z/src/Delta.h
diff --git a/3rdparty/7z/DllSecur.c b/3rdparty/7z/src/DllSecur.c
similarity index 100%
rename from 3rdparty/7z/DllSecur.c
rename to 3rdparty/7z/src/DllSecur.c
diff --git a/3rdparty/7z/DllSecur.h b/3rdparty/7z/src/DllSecur.h
similarity index 100%
rename from 3rdparty/7z/DllSecur.h
rename to 3rdparty/7z/src/DllSecur.h
diff --git a/3rdparty/7z/LzFind.c b/3rdparty/7z/src/LzFind.c
similarity index 100%
rename from 3rdparty/7z/LzFind.c
rename to 3rdparty/7z/src/LzFind.c
diff --git a/3rdparty/7z/LzFind.h b/3rdparty/7z/src/LzFind.h
similarity index 100%
rename from 3rdparty/7z/LzFind.h
rename to 3rdparty/7z/src/LzFind.h
diff --git a/3rdparty/7z/LzFindMt.c b/3rdparty/7z/src/LzFindMt.c
similarity index 100%
rename from 3rdparty/7z/LzFindMt.c
rename to 3rdparty/7z/src/LzFindMt.c
diff --git a/3rdparty/7z/LzFindMt.h b/3rdparty/7z/src/LzFindMt.h
similarity index 100%
rename from 3rdparty/7z/LzFindMt.h
rename to 3rdparty/7z/src/LzFindMt.h
diff --git a/3rdparty/7z/LzHash.h b/3rdparty/7z/src/LzHash.h
similarity index 100%
rename from 3rdparty/7z/LzHash.h
rename to 3rdparty/7z/src/LzHash.h
diff --git a/3rdparty/7z/Lzma2Dec.c b/3rdparty/7z/src/Lzma2Dec.c
similarity index 100%
rename from 3rdparty/7z/Lzma2Dec.c
rename to 3rdparty/7z/src/Lzma2Dec.c
diff --git a/3rdparty/7z/Lzma2Dec.h b/3rdparty/7z/src/Lzma2Dec.h
similarity index 100%
rename from 3rdparty/7z/Lzma2Dec.h
rename to 3rdparty/7z/src/Lzma2Dec.h
diff --git a/3rdparty/7z/Lzma2DecMt.c b/3rdparty/7z/src/Lzma2DecMt.c
similarity index 100%
rename from 3rdparty/7z/Lzma2DecMt.c
rename to 3rdparty/7z/src/Lzma2DecMt.c
diff --git a/3rdparty/7z/Lzma2DecMt.h b/3rdparty/7z/src/Lzma2DecMt.h
similarity index 100%
rename from 3rdparty/7z/Lzma2DecMt.h
rename to 3rdparty/7z/src/Lzma2DecMt.h
diff --git a/3rdparty/7z/Lzma2Enc.c b/3rdparty/7z/src/Lzma2Enc.c
similarity index 100%
rename from 3rdparty/7z/Lzma2Enc.c
rename to 3rdparty/7z/src/Lzma2Enc.c
diff --git a/3rdparty/7z/Lzma2Enc.h b/3rdparty/7z/src/Lzma2Enc.h
similarity index 100%
rename from 3rdparty/7z/Lzma2Enc.h
rename to 3rdparty/7z/src/Lzma2Enc.h
diff --git a/3rdparty/7z/Lzma86.h b/3rdparty/7z/src/Lzma86.h
similarity index 100%
rename from 3rdparty/7z/Lzma86.h
rename to 3rdparty/7z/src/Lzma86.h
diff --git a/3rdparty/7z/Lzma86Dec.c b/3rdparty/7z/src/Lzma86Dec.c
similarity index 100%
rename from 3rdparty/7z/Lzma86Dec.c
rename to 3rdparty/7z/src/Lzma86Dec.c
diff --git a/3rdparty/7z/Lzma86Enc.c b/3rdparty/7z/src/Lzma86Enc.c
similarity index 100%
rename from 3rdparty/7z/Lzma86Enc.c
rename to 3rdparty/7z/src/Lzma86Enc.c
diff --git a/3rdparty/7z/LzmaDec.c b/3rdparty/7z/src/LzmaDec.c
similarity index 100%
rename from 3rdparty/7z/LzmaDec.c
rename to 3rdparty/7z/src/LzmaDec.c
diff --git a/3rdparty/7z/LzmaDec.h b/3rdparty/7z/src/LzmaDec.h
similarity index 100%
rename from 3rdparty/7z/LzmaDec.h
rename to 3rdparty/7z/src/LzmaDec.h
diff --git a/3rdparty/7z/LzmaEnc.c b/3rdparty/7z/src/LzmaEnc.c
similarity index 100%
rename from 3rdparty/7z/LzmaEnc.c
rename to 3rdparty/7z/src/LzmaEnc.c
diff --git a/3rdparty/7z/LzmaEnc.h b/3rdparty/7z/src/LzmaEnc.h
similarity index 100%
rename from 3rdparty/7z/LzmaEnc.h
rename to 3rdparty/7z/src/LzmaEnc.h
diff --git a/3rdparty/7z/LzmaLib.c b/3rdparty/7z/src/LzmaLib.c
similarity index 100%
rename from 3rdparty/7z/LzmaLib.c
rename to 3rdparty/7z/src/LzmaLib.c
diff --git a/3rdparty/7z/LzmaLib.h b/3rdparty/7z/src/LzmaLib.h
similarity index 100%
rename from 3rdparty/7z/LzmaLib.h
rename to 3rdparty/7z/src/LzmaLib.h
diff --git a/3rdparty/7z/MtCoder.c b/3rdparty/7z/src/MtCoder.c
similarity index 100%
rename from 3rdparty/7z/MtCoder.c
rename to 3rdparty/7z/src/MtCoder.c
diff --git a/3rdparty/7z/MtCoder.h b/3rdparty/7z/src/MtCoder.h
similarity index 100%
rename from 3rdparty/7z/MtCoder.h
rename to 3rdparty/7z/src/MtCoder.h
diff --git a/3rdparty/7z/MtDec.c b/3rdparty/7z/src/MtDec.c
similarity index 100%
rename from 3rdparty/7z/MtDec.c
rename to 3rdparty/7z/src/MtDec.c
diff --git a/3rdparty/7z/MtDec.h b/3rdparty/7z/src/MtDec.h
similarity index 100%
rename from 3rdparty/7z/MtDec.h
rename to 3rdparty/7z/src/MtDec.h
diff --git a/3rdparty/7z/Ppmd.h b/3rdparty/7z/src/Ppmd.h
similarity index 100%
rename from 3rdparty/7z/Ppmd.h
rename to 3rdparty/7z/src/Ppmd.h
diff --git a/3rdparty/7z/Ppmd7.c b/3rdparty/7z/src/Ppmd7.c
similarity index 100%
rename from 3rdparty/7z/Ppmd7.c
rename to 3rdparty/7z/src/Ppmd7.c
diff --git a/3rdparty/7z/Ppmd7.h b/3rdparty/7z/src/Ppmd7.h
similarity index 100%
rename from 3rdparty/7z/Ppmd7.h
rename to 3rdparty/7z/src/Ppmd7.h
diff --git a/3rdparty/7z/Ppmd7Dec.c b/3rdparty/7z/src/Ppmd7Dec.c
similarity index 100%
rename from 3rdparty/7z/Ppmd7Dec.c
rename to 3rdparty/7z/src/Ppmd7Dec.c
diff --git a/3rdparty/7z/Ppmd7Enc.c b/3rdparty/7z/src/Ppmd7Enc.c
similarity index 100%
rename from 3rdparty/7z/Ppmd7Enc.c
rename to 3rdparty/7z/src/Ppmd7Enc.c
diff --git a/3rdparty/7z/Precomp.h b/3rdparty/7z/src/Precomp.h
similarity index 100%
rename from 3rdparty/7z/Precomp.h
rename to 3rdparty/7z/src/Precomp.h
diff --git a/3rdparty/7z/RotateDefs.h b/3rdparty/7z/src/RotateDefs.h
similarity index 100%
rename from 3rdparty/7z/RotateDefs.h
rename to 3rdparty/7z/src/RotateDefs.h
diff --git a/3rdparty/7z/Sha256.c b/3rdparty/7z/src/Sha256.c
similarity index 100%
rename from 3rdparty/7z/Sha256.c
rename to 3rdparty/7z/src/Sha256.c
diff --git a/3rdparty/7z/Sha256.h b/3rdparty/7z/src/Sha256.h
similarity index 100%
rename from 3rdparty/7z/Sha256.h
rename to 3rdparty/7z/src/Sha256.h
diff --git a/3rdparty/7z/Sort.c b/3rdparty/7z/src/Sort.c
similarity index 100%
rename from 3rdparty/7z/Sort.c
rename to 3rdparty/7z/src/Sort.c
diff --git a/3rdparty/7z/Sort.h b/3rdparty/7z/src/Sort.h
similarity index 100%
rename from 3rdparty/7z/Sort.h
rename to 3rdparty/7z/src/Sort.h
diff --git a/3rdparty/7z/Threads.c b/3rdparty/7z/src/Threads.c
similarity index 100%
rename from 3rdparty/7z/Threads.c
rename to 3rdparty/7z/src/Threads.c
diff --git a/3rdparty/7z/Threads.h b/3rdparty/7z/src/Threads.h
similarity index 100%
rename from 3rdparty/7z/Threads.h
rename to 3rdparty/7z/src/Threads.h
diff --git a/3rdparty/7z/Xz.c b/3rdparty/7z/src/Xz.c
similarity index 100%
rename from 3rdparty/7z/Xz.c
rename to 3rdparty/7z/src/Xz.c
diff --git a/3rdparty/7z/Xz.h b/3rdparty/7z/src/Xz.h
similarity index 100%
rename from 3rdparty/7z/Xz.h
rename to 3rdparty/7z/src/Xz.h
diff --git a/3rdparty/7z/XzCrc64.c b/3rdparty/7z/src/XzCrc64.c
similarity index 100%
rename from 3rdparty/7z/XzCrc64.c
rename to 3rdparty/7z/src/XzCrc64.c
diff --git a/3rdparty/7z/XzCrc64.h b/3rdparty/7z/src/XzCrc64.h
similarity index 100%
rename from 3rdparty/7z/XzCrc64.h
rename to 3rdparty/7z/src/XzCrc64.h
diff --git a/3rdparty/7z/XzCrc64Opt.c b/3rdparty/7z/src/XzCrc64Opt.c
similarity index 100%
rename from 3rdparty/7z/XzCrc64Opt.c
rename to 3rdparty/7z/src/XzCrc64Opt.c
diff --git a/3rdparty/7z/XzDec.c b/3rdparty/7z/src/XzDec.c
similarity index 100%
rename from 3rdparty/7z/XzDec.c
rename to 3rdparty/7z/src/XzDec.c
diff --git a/3rdparty/7z/XzEnc.c b/3rdparty/7z/src/XzEnc.c
similarity index 100%
rename from 3rdparty/7z/XzEnc.c
rename to 3rdparty/7z/src/XzEnc.c
diff --git a/3rdparty/7z/XzEnc.h b/3rdparty/7z/src/XzEnc.h
similarity index 100%
rename from 3rdparty/7z/XzEnc.h
rename to 3rdparty/7z/src/XzEnc.h
diff --git a/3rdparty/7z/XzIn.c b/3rdparty/7z/src/XzIn.c
similarity index 100%
rename from 3rdparty/7z/XzIn.c
rename to 3rdparty/7z/src/XzIn.c
diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt
index 8f3025ec43..b3d338cdcb 100644
--- a/3rdparty/CMakeLists.txt
+++ b/3rdparty/CMakeLists.txt
@@ -23,56 +23,7 @@ target_link_libraries(3rdparty_zlib INTERFACE ${ZLIB_LIBRARY})
target_include_directories(3rdparty_zlib INTERFACE ${ZLIB_INCLUDE_DIR})
# 7z sdk
-if(WIN32)
- add_library(3rdparty_7z STATIC EXCLUDE_FROM_ALL
- 7z/Sha256.c
- 7z/Ppmd7Dec.c
- 7z/XzDec.c
- 7z/XzEnc.c
- 7z/Lzma2Dec.c
- 7z/XzCrc64.c
- 7z/DllSecur.c
- 7z/Lzma2DecMt.c
- 7z/BraIA64.c
- 7z/7zFile.c
- 7z/7zStream.c
- 7z/Lzma86Enc.c
- 7z/Threads.c
- 7z/7zAlloc.c
- 7z/LzmaEnc.c
- 7z/MtCoder.c
- 7z/Lzma86Dec.c
- 7z/Sort.c
- 7z/LzFindMt.c
- 7z/7zDec.c
- 7z/Bcj2.c
- 7z/Ppmd7.c
- 7z/Bra86.c
- 7z/Bcj2Enc.c
- 7z/7zBuf.c
- 7z/Aes.c
- 7z/AesOpt.c
- 7z/XzCrc64Opt.c
- 7z/7zArcIn.c
- 7z/Lzma2Enc.c
- 7z/Bra.c
- 7z/7zCrcOpt.c
- 7z/7zBuf2.c
- 7z/LzFind.c
- 7z/Ppmd7Enc.c
- 7z/CpuArch.c
- 7z/Delta.c
- 7z/XzIn.c
- 7z/Alloc.c
- 7z/Xz.c
- 7z/LzmaDec.c
- 7z/LzmaLib.c
- 7z/7zCrc.c
- 7z/MtDec.c)
- target_include_directories(3rdparty_7z INTERFACE 7z)
-else()
- add_library(3rdparty_7z INTERFACE)
-endif()
+add_subdirectory(7z EXCLUDE_FROM_ALL)
add_library(3rdparty_flatbuffers INTERFACE)
target_include_directories(3rdparty_flatbuffers INTERFACE flatbuffers/include)
diff --git a/rpcs3.sln b/rpcs3.sln
index 466f6d9427..f497f225b6 100644
--- a/rpcs3.sln
+++ b/rpcs3.sln
@@ -64,7 +64,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xxhash", "3rdparty\xxhash.v
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libusb-1.0 (static)", "3rdparty\libusb\libusb_static.vcxproj", "{349EE8F9-7D25-4909-AAF5-FF3FADE72187}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "7zlib", "3rdparty\7zlib.vcxproj", "{5B146DEA-9ACE-4D32-A7FD-3F42464DD69C}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "7zlib", "3rdparty\7z\7zlib.vcxproj", "{5B146DEA-9ACE-4D32-A7FD-3F42464DD69C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wolfssl", "3rdparty\wolfssl.vcxproj", "{73973223-5EE8-41CA-8E88-1D60E89A237B}"
EndProject
diff --git a/rpcs3/rpcs3.vcxproj b/rpcs3/rpcs3.vcxproj
index 0b76ff2a6d..9d4d16dd2e 100644
--- a/rpcs3/rpcs3.vcxproj
+++ b/rpcs3/rpcs3.vcxproj
@@ -62,12 +62,12 @@
true
- ..\3rdparty\7z;..\3rdparty\hidapi\hidapi;.\;..\;..\asmjit\src;..\3rdparty\yaml-cpp\include;..\3rdparty\ffmpeg\include;..\3rdparty\cereal\include;$(VC_IncludePath);$(WindowsSDK_IncludePath);$(UniversalCRT_IncludePath);..\3rdparty\XAudio2Redist\include;..\3rdparty\span\include;..\3rdparty\libpng;..\3rdparty\GL;..\3rdparty\stblib;..\3rdparty\OpenAL\include;..\3rdparty\pugixml\src;..\3rdparty\Optional;..\3rdparty\discord-rpc\include;..\3rdparty\zlib
+ ..\3rdparty\7z\src;..\3rdparty\hidapi\hidapi;.\;..\;..\asmjit\src;..\3rdparty\yaml-cpp\include;..\3rdparty\ffmpeg\include;..\3rdparty\cereal\include;$(VC_IncludePath);$(WindowsSDK_IncludePath);$(UniversalCRT_IncludePath);..\3rdparty\XAudio2Redist\include;..\3rdparty\span\include;..\3rdparty\libpng;..\3rdparty\GL;..\3rdparty\stblib;..\3rdparty\OpenAL\include;..\3rdparty\pugixml\src;..\3rdparty\Optional;..\3rdparty\discord-rpc\include;..\3rdparty\zlib
$(SolutionDir)lib\$(Configuration)-$(Platform)\;$(UniversalCRT_LibraryPath_x64);$(LibraryPath)
$(SolutionDir)lib\$(Configuration)-$(Platform)\;$(UniversalCRT_LibraryPath_x64);$(LibraryPath)
- ..\3rdparty\7z;..\3rdparty\hidapi\hidapi;.\;..\;..\asmjit\src;..\3rdparty\yaml-cpp\include;..\3rdparty\ffmpeg\include;..\3rdparty\cereal\include;$(VC_IncludePath);$(WindowsSDK_IncludePath);$(UniversalCRT_IncludePath);..\3rdparty\XAudio2Redist\include;..\3rdparty\span\include;..\3rdparty\libpng;..\3rdparty\GL;..\3rdparty\stblib;..\3rdparty\OpenAL\include;..\3rdparty\pugixml\src;..\3rdparty\Optional;..\3rdparty\discord-rpc\include;..\3rdparty\zlib
+ ..\3rdparty\7z\src;..\3rdparty\hidapi\hidapi;.\;..\;..\asmjit\src;..\3rdparty\yaml-cpp\include;..\3rdparty\ffmpeg\include;..\3rdparty\cereal\include;$(VC_IncludePath);$(WindowsSDK_IncludePath);$(UniversalCRT_IncludePath);..\3rdparty\XAudio2Redist\include;..\3rdparty\span\include;..\3rdparty\libpng;..\3rdparty\GL;..\3rdparty\stblib;..\3rdparty\OpenAL\include;..\3rdparty\pugixml\src;..\3rdparty\Optional;..\3rdparty\discord-rpc\include;..\3rdparty\zlib