diff --git a/Externals/Bochs_disasm/exports.props b/Externals/Bochs_disasm/exports.props
new file mode 100644
index 0000000000..7502e57cca
--- /dev/null
+++ b/Externals/Bochs_disasm/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)Bochs_disasm;%(AdditionalIncludeDirectories)
+
+
+
+
+ {8ada04d7-6db1-4da4-ab55-64fb12a0997b}
+
+
+
diff --git a/Externals/ExternalsReferenceAll.props b/Externals/ExternalsReferenceAll.props
deleted file mode 100644
index bee90fe7c5..0000000000
--- a/Externals/ExternalsReferenceAll.props
+++ /dev/null
@@ -1,104 +0,0 @@
-
-
-
-
- {D79392F7-06D6-4B4B-A39F-4D587C215D3A}
-
-
- {41279555-f94f-4ebc-99de-af863c10c5c4}
-
-
- {0e033be3-2e08-428e-9ae9-bc673efa12b5}
-
-
- {8ada04d7-6db1-4da4-ab55-64fb12a0997b}
-
-
- {1d8c51d2-ffa4-418e-b183-9f42b6a6717e}
-
-
- {c636d9d1-82fe-42b5-9987-63b7d4836341}
-
-
- {8ea11166-6512-44fc-b7a5-a4d1ecc81170}
-
-
- {bb00605c-125f-4a21-b33b-7bf418322dcb}
-
-
- {4482fd2a-ec43-3ffb-ac20-2e5c54b05ead}
-
-
- {5bdf4b91-1491-4fb0-bc27-78e9a8e97dc3}
-
-
- {cbc76802-c128-4b17-bf6c-23b08c313e5e}
-
-
- {3F17D282-A77D-4931-B844-903AD0809A5E}
-
-
- {4BC5A148-0AB3-440F-A980-A29B4B999190}
-
-
- {8498f2fa-5ca6-4169-9971-de5b1fe6132c}
-
-
- {d178061b-84d3-44f9-beed-efd18d9033f0}
-
-
- {4c3b2264-ea73-4a7b-9cfe-65b0fd635ebb}
-
-
- {055a775f-b4f5-4970-9240-f6cf7661f37b}
-
-
- {447B7B1E-1D74-4AEF-B2B9-6EB41C5D5313}
-
-
- {349ee8f9-7d25-4909-aaf5-ff3fade72187}
-
-
- {ab993f38-c31d-4897-b139-a620c42bc565}
-
-
- {bdb6578b-0691-4e80-a46c-df21639fd3b8}
-
-
- {864C4C8E-296D-3DBC-AD83-F1D5CB6E8EC6}
-
-
- {31643fdb-1bb8-4965-9de7-000fc88d35ae}
-
-
- {23114507-079a-4418-9707-cfa81a03ca99}
-
-
- {2c0d058e-de35-4471-ad99-e68a2caf9e18}
-
-
- {38fee76f-f347-484b-949c-b4649381cffb}
-
-
- {93d73454-2512-424e-9cda-4bb357fe13dd}
-
-
- {ec082900-b4d8-42e9-9663-77f02f6936ae}
-
-
- {3d780617-ec8c-4721-b9fd-dfc9bb658c7c}
-
-
- {677ea016-1182-440c-9345-dc88d1e98c0c}
-
-
- {F6EA7144-8D64-4EBB-A13E-76DFBD911EAE}
-
-
- {1bea10f3-80ce-4bc4-9331-5769372cdf99}
-
-
- {8DC244EE-A0BD-4038-BAF7-CFAFA5EB2BAA}
-
-
-
diff --git a/Externals/FatFs/exports.props b/Externals/FatFs/exports.props
new file mode 100644
index 0000000000..3866879c43
--- /dev/null
+++ b/Externals/FatFs/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)FatFs;%(AdditionalIncludeDirectories)
+
+
+
+
+ {3F17D282-A77D-4931-B844-903AD0809A5E}
+
+
+
diff --git a/Externals/FreeSurround/FreeSurround.vcxproj b/Externals/FreeSurround/FreeSurround.vcxproj
index ed717ea65c..da3a11776a 100644
--- a/Externals/FreeSurround/FreeSurround.vcxproj
+++ b/Externals/FreeSurround/FreeSurround.vcxproj
@@ -15,6 +15,11 @@
+
+
+ include;%(AdditionalIncludeDirectories)
+
+
diff --git a/Externals/FreeSurround/exports.props b/Externals/FreeSurround/exports.props
new file mode 100644
index 0000000000..af25a548b7
--- /dev/null
+++ b/Externals/FreeSurround/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)FreeSurround\include;%(AdditionalIncludeDirectories)
+
+
+
+
+ {8498f2fa-5ca6-4169-9971-de5b1fe6132c}
+
+
+
diff --git a/Externals/LZO/exports.props b/Externals/LZO/exports.props
new file mode 100644
index 0000000000..815027470b
--- /dev/null
+++ b/Externals/LZO/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)LZO;%(AdditionalIncludeDirectories)
+
+
+
+
+ {ab993f38-c31d-4897-b139-a620c42bc565}
+
+
+
diff --git a/Externals/SDL/exports.props b/Externals/SDL/exports.props
new file mode 100644
index 0000000000..573a8afba9
--- /dev/null
+++ b/Externals/SDL/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)SDL\SDL\include;%(AdditionalIncludeDirectories)
+
+
+
+
+ {8DC244EE-A0BD-4038-BAF7-CFAFA5EB2BAA}
+
+
+
diff --git a/Externals/SFML/build/vc2010/SFML_Network.vcxproj b/Externals/SFML/build/vc2010/SFML_Network.vcxproj
index ef90c1aea6..f93a95f092 100644
--- a/Externals/SFML/build/vc2010/SFML_Network.vcxproj
+++ b/Externals/SFML/build/vc2010/SFML_Network.vcxproj
@@ -17,7 +17,8 @@
- ..\..\src;%(AdditionalIncludeDirectories)
+ ..\..\include;..\..\src;%(AdditionalIncludeDirectories)
+ SFML_STATIC;%(PreprocessorDefinitions)
diff --git a/Externals/SFML/exports.props b/Externals/SFML/exports.props
new file mode 100644
index 0000000000..546f964aa5
--- /dev/null
+++ b/Externals/SFML/exports.props
@@ -0,0 +1,14 @@
+
+
+
+
+ $(ExternalsDir)SFML\include;%(AdditionalIncludeDirectories)
+ SFML_STATIC;%(PreprocessorDefinitions)
+
+
+
+
+ {93d73454-2512-424e-9cda-4bb357fe13dd}
+
+
+
diff --git a/Externals/bzip2/exports.props b/Externals/bzip2/exports.props
new file mode 100644
index 0000000000..8b9c73dc96
--- /dev/null
+++ b/Externals/bzip2/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)bzip2;%(AdditionalIncludeDirectories)
+
+
+
+
+ {1d8c51d2-ffa4-418e-b183-9f42b6a6717e}
+
+
+
diff --git a/Externals/cpp-optparse/exports.props b/Externals/cpp-optparse/exports.props
new file mode 100644
index 0000000000..bf7f06935a
--- /dev/null
+++ b/Externals/cpp-optparse/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)cpp-optparse;%(AdditionalIncludeDirectories)
+
+
+
+
+ {c636d9d1-82fe-42b5-9987-63b7d4836341}
+
+
+
diff --git a/Externals/cubeb/exports.props b/Externals/cubeb/exports.props
new file mode 100644
index 0000000000..306e3d4921
--- /dev/null
+++ b/Externals/cubeb/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)cubeb\include;$(ExternalsDir)cubeb\msvc;%(AdditionalIncludeDirectories)
+
+
+
+
+ {8ea11166-6512-44fc-b7a5-a4d1ecc81170}
+
+
+
diff --git a/Externals/curl/curl.vcxproj b/Externals/curl/curl.vcxproj
index a9ba10f6c7..d69ae6e875 100644
--- a/Externals/curl/curl.vcxproj
+++ b/Externals/curl/curl.vcxproj
@@ -17,7 +17,7 @@
- $(ExternalsDir)curl\lib;%(AdditionalIncludeDirectories)
+ include;lib;%(AdditionalIncludeDirectories)
CURL_STATICLIB;CURL_DISABLE_LDAP;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions)
diff --git a/Externals/curl/exports.props b/Externals/curl/exports.props
new file mode 100644
index 0000000000..1f5167cbd1
--- /dev/null
+++ b/Externals/curl/exports.props
@@ -0,0 +1,14 @@
+
+
+
+
+ $(ExternalsDir)curl\include;%(AdditionalIncludeDirectories)
+ CURL_STATICLIB;%(PreprocessorDefinitions)
+
+
+
+
+ {bb00605c-125f-4a21-b33b-7bf418322dcb}
+
+
+
diff --git a/Externals/discord-rpc/exports.props b/Externals/discord-rpc/exports.props
new file mode 100644
index 0000000000..7a4cfe28d9
--- /dev/null
+++ b/Externals/discord-rpc/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)discord-rpc\include;%(AdditionalIncludeDirectories)
+
+
+
+
+ {4482fd2a-ec43-3ffb-ac20-2e5c54b05ead}
+
+
+
diff --git a/Externals/ed25519/exports.props b/Externals/ed25519/exports.props
new file mode 100644
index 0000000000..c29d10c180
--- /dev/null
+++ b/Externals/ed25519/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)ed25519;%(AdditionalIncludeDirectories)
+
+
+
+
+ {5bdf4b91-1491-4fb0-bc27-78e9a8e97dc3}
+
+
+
diff --git a/Externals/enet/enet.vcxproj b/Externals/enet/enet.vcxproj
index 7506ac0e89..21f16b6b07 100644
--- a/Externals/enet/enet.vcxproj
+++ b/Externals/enet/enet.vcxproj
@@ -15,6 +15,11 @@
+
+
+ include;%(AdditionalIncludeDirectories)
+
+
diff --git a/Externals/enet/exports.props b/Externals/enet/exports.props
new file mode 100644
index 0000000000..ec44d60e08
--- /dev/null
+++ b/Externals/enet/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)enet\include;%(AdditionalIncludeDirectories)
+
+
+
+
+ {cbc76802-c128-4b17-bf6c-23b08c313e5e}
+
+
+
diff --git a/Externals/fmt/exports.props b/Externals/fmt/exports.props
new file mode 100644
index 0000000000..d2bad14164
--- /dev/null
+++ b/Externals/fmt/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)fmt\include;%(AdditionalIncludeDirectories)
+
+
+
+
+ {4BC5A148-0AB3-440F-A980-A29B4B999190}
+
+
+
diff --git a/Externals/fmt/fmt.vcxproj b/Externals/fmt/fmt.vcxproj
index d1d089e3ca..3f0259177c 100644
--- a/Externals/fmt/fmt.vcxproj
+++ b/Externals/fmt/fmt.vcxproj
@@ -15,6 +15,11 @@
+
+
+ include;%(AdditionalIncludeDirectories)
+
+
diff --git a/Externals/glslang/exports.props b/Externals/glslang/exports.props
new file mode 100644
index 0000000000..dc09bf8a2d
--- /dev/null
+++ b/Externals/glslang/exports.props
@@ -0,0 +1,16 @@
+
+
+
+
+ $(ExternalsDir)glslang;%(AdditionalIncludeDirectories)
+ $(ExternalsDir)glslang\StandAlone;%(AdditionalIncludeDirectories)
+ $(ExternalsDir)glslang\glslang\Public;%(AdditionalIncludeDirectories)
+ $(ExternalsDir)glslang\SPIRV;%(AdditionalIncludeDirectories)
+
+
+
+
+ {d178061b-84d3-44f9-beed-efd18d9033f0}
+
+
+
diff --git a/Externals/glslang/glslang.vcxproj b/Externals/glslang/glslang.vcxproj
index e7a8f430af..a602d6e24c 100644
--- a/Externals/glslang/glslang.vcxproj
+++ b/Externals/glslang/glslang.vcxproj
@@ -15,6 +15,11 @@
+
+
+ .;%(AdditionalIncludeDirectories)
+
+
diff --git a/Externals/imgui/exports.props b/Externals/imgui/exports.props
new file mode 100644
index 0000000000..efa1062524
--- /dev/null
+++ b/Externals/imgui/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)imgui;%(AdditionalIncludeDirectories)
+
+
+
+
+ {4c3b2264-ea73-4a7b-9cfe-65b0fd635ebb}
+
+
+
diff --git a/Externals/imgui/imgui.vcxproj b/Externals/imgui/imgui.vcxproj
index 8f8e6ee233..bcbd4d0766 100644
--- a/Externals/imgui/imgui.vcxproj
+++ b/Externals/imgui/imgui.vcxproj
@@ -15,6 +15,12 @@
+
+
+
+ $(CoreDir);%(AdditionalIncludeDirectories)
+
+
@@ -29,6 +35,7 @@
+
diff --git a/Externals/liblzma/exports.props b/Externals/liblzma/exports.props
new file mode 100644
index 0000000000..2ab816c7a1
--- /dev/null
+++ b/Externals/liblzma/exports.props
@@ -0,0 +1,14 @@
+
+
+
+
+ $(ExternalsDir)liblzma\api;%(AdditionalIncludeDirectories)
+ LZMA_API_STATIC;%(PreprocessorDefinitions)
+
+
+
+
+ {055a775f-b4f5-4970-9240-f6cf7661f37b}
+
+
+
diff --git a/Externals/liblzma/liblzma.vcxproj b/Externals/liblzma/liblzma.vcxproj
index 7839ceb78f..a4b7ff4a9d 100644
--- a/Externals/liblzma/liblzma.vcxproj
+++ b/Externals/liblzma/liblzma.vcxproj
@@ -17,7 +17,7 @@
- .;check;common;delta;lz;lzma;rangecoder;simple;tuklib;%(AdditionalIncludeDirectories)
+ .;api;check;common;delta;lz;lzma;rangecoder;simple;tuklib;%(AdditionalIncludeDirectories)
LZMA_API_STATIC;HAVE_CONFIG_H;%(PreprocessorDefinitions)
diff --git a/Externals/libspng/exports.props b/Externals/libspng/exports.props
new file mode 100644
index 0000000000..ac255a65de
--- /dev/null
+++ b/Externals/libspng/exports.props
@@ -0,0 +1,14 @@
+
+
+
+
+ $(ExternalsDir)libspng\libspng\spng;%(AdditionalIncludeDirectories)
+ SPNG_STATIC;%(PreprocessorDefinitions)
+
+
+
+
+ {447B7B1E-1D74-4AEF-B2B9-6EB41C5D5313}
+
+
+
diff --git a/Externals/libspng/spng.vcxproj b/Externals/libspng/spng.vcxproj
index af129683c7..2db88cb2ee 100644
--- a/Externals/libspng/spng.vcxproj
+++ b/Externals/libspng/spng.vcxproj
@@ -29,6 +29,7 @@
+
diff --git a/Externals/libusb/exports.props b/Externals/libusb/exports.props
new file mode 100644
index 0000000000..3cca250f25
--- /dev/null
+++ b/Externals/libusb/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)libusb\libusb\libusb;%(AdditionalIncludeDirectories)
+
+
+
+
+ {349ee8f9-7d25-4909-aaf5-ff3fade72187}
+
+
+
diff --git a/Externals/libusb/libusb-1.0.vcxproj b/Externals/libusb/libusb-1.0.vcxproj
index 393ebcf951..5834338af9 100644
--- a/Externals/libusb/libusb-1.0.vcxproj
+++ b/Externals/libusb/libusb-1.0.vcxproj
@@ -18,7 +18,7 @@
- .\libusb\msvc;%(AdditionalIncludeDirectories)
+ libusb\msvc;libusb\libusb;%(AdditionalIncludeDirectories)
diff --git a/Externals/mGBA/exports.props b/Externals/mGBA/exports.props
new file mode 100644
index 0000000000..34e6c4f02d
--- /dev/null
+++ b/Externals/mGBA/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)mGBA\mgba\include;%(AdditionalIncludeDirectories)
+
+
+
+
+ {864C4C8E-296D-3DBC-AD83-F1D5CB6E8EC6}
+
+
+
diff --git a/Externals/mGBA/mgba.vcxproj b/Externals/mGBA/mgba.vcxproj
index 68304b92b8..56112ae8b6 100644
--- a/Externals/mGBA/mgba.vcxproj
+++ b/Externals/mGBA/mgba.vcxproj
@@ -205,6 +205,7 @@
+
diff --git a/Externals/mbedtls/exports.props b/Externals/mbedtls/exports.props
new file mode 100644
index 0000000000..e078d2e386
--- /dev/null
+++ b/Externals/mbedtls/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)mbedtls\include;%(AdditionalIncludeDirectories)
+
+
+
+
+ {bdb6578b-0691-4e80-a46c-df21639fd3b8}
+
+
+
diff --git a/Externals/mbedtls/mbedTLS.vcxproj b/Externals/mbedtls/mbedTLS.vcxproj
index 6cb098c0ad..bb8f86cae9 100644
--- a/Externals/mbedtls/mbedTLS.vcxproj
+++ b/Externals/mbedtls/mbedTLS.vcxproj
@@ -17,7 +17,7 @@
- .\library;%(AdditionalIncludeDirectories)
+ include;library;%(AdditionalIncludeDirectories)
diff --git a/Externals/miniupnpc/exports.props b/Externals/miniupnpc/exports.props
new file mode 100644
index 0000000000..31ee86b974
--- /dev/null
+++ b/Externals/miniupnpc/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)miniupnpc\src;%(AdditionalIncludeDirectories)
+
+
+
+
+ {31643fdb-1bb8-4965-9de7-000fc88d35ae}
+
+
+
diff --git a/Externals/minizip/exports.props b/Externals/minizip/exports.props
new file mode 100644
index 0000000000..fe56035edf
--- /dev/null
+++ b/Externals/minizip/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)minizip;%(AdditionalIncludeDirectories)
+
+
+
+
+ {23114507-079a-4418-9707-cfa81a03ca99}
+
+
+
diff --git a/Externals/minizip/minizip.vcxproj b/Externals/minizip/minizip.vcxproj
index d08bafbe57..d6e06b7aa3 100644
--- a/Externals/minizip/minizip.vcxproj
+++ b/Externals/minizip/minizip.vcxproj
@@ -57,6 +57,7 @@
+
diff --git a/Externals/picojson/exports.props b/Externals/picojson/exports.props
new file mode 100644
index 0000000000..5cfcec591f
--- /dev/null
+++ b/Externals/picojson/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)picojson;%(AdditionalIncludeDirectories)
+
+
+
+
+ {2c0d058e-de35-4471-ad99-e68a2caf9e18}
+
+
+
diff --git a/Externals/pugixml/exports.props b/Externals/pugixml/exports.props
new file mode 100644
index 0000000000..2a237aaaf6
--- /dev/null
+++ b/Externals/pugixml/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)pugixml;%(AdditionalIncludeDirectories)
+
+
+
+
+ {38fee76f-f347-484b-949c-b4649381cffb}
+
+
+
diff --git a/Externals/soundtouch/exports.props b/Externals/soundtouch/exports.props
new file mode 100644
index 0000000000..7e7c34d735
--- /dev/null
+++ b/Externals/soundtouch/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)soundtouch;%(AdditionalIncludeDirectories)
+
+
+
+
+ {ec082900-b4d8-42e9-9663-77f02f6936ae}
+
+
+
diff --git a/Externals/spirv_cross/exports.props b/Externals/spirv_cross/exports.props
new file mode 100644
index 0000000000..8b5b943690
--- /dev/null
+++ b/Externals/spirv_cross/exports.props
@@ -0,0 +1,14 @@
+
+
+
+
+ $(ExternalsDir)spirv_cross\SPIRV-Cross;%(AdditionalIncludeDirectories)
+ SPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS;%(PreprocessorDefinitions)
+
+
+
+
+ {3d780617-ec8c-4721-b9fd-dfc9bb658c7c}
+
+
+
diff --git a/Externals/xxhash/exports.props b/Externals/xxhash/exports.props
new file mode 100644
index 0000000000..3329ab6f61
--- /dev/null
+++ b/Externals/xxhash/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)xxhash;%(AdditionalIncludeDirectories)
+
+
+
+
+ {677ea016-1182-440c-9345-dc88d1e98c0c}
+
+
+
diff --git a/Externals/zlib-ng/exports.props b/Externals/zlib-ng/exports.props
new file mode 100644
index 0000000000..0813bc25ab
--- /dev/null
+++ b/Externals/zlib-ng/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)zlib-ng;%(AdditionalIncludeDirectories)
+
+
+
+
+ {F6EA7144-8D64-4EBB-A13E-76DFBD911EAE}
+
+
+
diff --git a/Externals/zstd/exports.props b/Externals/zstd/exports.props
new file mode 100644
index 0000000000..554343bb75
--- /dev/null
+++ b/Externals/zstd/exports.props
@@ -0,0 +1,13 @@
+
+
+
+
+ $(ExternalsDir)zstd\lib;%(AdditionalIncludeDirectories)
+
+
+
+
+ {1bea10f3-80ce-4bc4-9331-5769372cdf99}
+
+
+
diff --git a/Source/Core/DolphinLib.vcxproj b/Source/Core/DolphinLib.vcxproj
index 92398e81ef..ae19db8c19 100644
--- a/Source/Core/DolphinLib.vcxproj
+++ b/Source/Core/DolphinLib.vcxproj
@@ -12,6 +12,7 @@
+
@@ -27,6 +28,36 @@
{41279555-f94f-4ebc-99de-af863c10c5c4}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Source/Core/DolphinNoGUI/DolphinNoGUI.vcxproj b/Source/Core/DolphinNoGUI/DolphinNoGUI.vcxproj
index 1466b68027..b7569a88c5 100644
--- a/Source/Core/DolphinNoGUI/DolphinNoGUI.vcxproj
+++ b/Source/Core/DolphinNoGUI/DolphinNoGUI.vcxproj
@@ -12,6 +12,7 @@
+
@@ -31,7 +32,8 @@
{0e033be3-2e08-428e-9ae9-bc673efa12b5}
-
+
+
diff --git a/Source/Core/DolphinQt/DolphinQt.vcxproj b/Source/Core/DolphinQt/DolphinQt.vcxproj
index cde2161e7b..7f66765c6f 100644
--- a/Source/Core/DolphinQt/DolphinQt.vcxproj
+++ b/Source/Core/DolphinQt/DolphinQt.vcxproj
@@ -13,6 +13,7 @@
+
@@ -403,7 +404,7 @@
{0e033be3-2e08-428e-9ae9-bc673efa12b5}
@@ -413,7 +414,19 @@
true
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Source/Core/DolphinTool/DolphinTool.vcxproj b/Source/Core/DolphinTool/DolphinTool.vcxproj
index d95dc0c2ec..2ea89a0fce 100644
--- a/Source/Core/DolphinTool/DolphinTool.vcxproj
+++ b/Source/Core/DolphinTool/DolphinTool.vcxproj
@@ -12,6 +12,7 @@
+
@@ -26,7 +27,6 @@
{0e033be3-2e08-428e-9ae9-bc673efa12b5}
-
@@ -34,6 +34,12 @@
+
+
+
+
+
+
diff --git a/Source/Core/WinUpdater/WinUpdater.vcxproj b/Source/Core/WinUpdater/WinUpdater.vcxproj
index cd523bb017..37bb9530b9 100644
--- a/Source/Core/WinUpdater/WinUpdater.vcxproj
+++ b/Source/Core/WinUpdater/WinUpdater.vcxproj
@@ -12,6 +12,7 @@
+
@@ -27,30 +28,18 @@
{D79392F7-06D6-4B4B-A39F-4D587C215D3A}
-
- {c636d9d1-82fe-42b5-9987-63b7d4836341}
-
-
- {bb00605c-125f-4a21-b33b-7bf418322dcb}
-
-
- {5bdf4b91-1491-4fb0-bc27-78e9a8e97dc3}
-
-
- {4BC5A148-0AB3-440F-A980-A29B4B999190}
-
-
- {bdb6578b-0691-4e80-a46c-df21639fd3b8}
-
-
- {F6EA7144-8D64-4EBB-A13E-76DFBD911EAE}
-
+
+
+
+
+
+
diff --git a/Source/DSPTool/DSPTool.vcxproj b/Source/DSPTool/DSPTool.vcxproj
index 20401a4ddb..ec0e269e42 100644
--- a/Source/DSPTool/DSPTool.vcxproj
+++ b/Source/DSPTool/DSPTool.vcxproj
@@ -12,6 +12,7 @@
+
@@ -32,10 +33,8 @@
{D79392F7-06D6-4B4B-A39F-4D587C215D3A}
-
- {4BC5A148-0AB3-440F-A980-A29B4B999190}
-
+
diff --git a/Source/PCH/pch.vcxproj b/Source/PCH/pch.vcxproj
index 0439b31103..1ee60c60c0 100644
--- a/Source/PCH/pch.vcxproj
+++ b/Source/PCH/pch.vcxproj
@@ -12,6 +12,7 @@
+
@@ -21,6 +22,7 @@
+
diff --git a/Source/UnitTests/UnitTests.vcxproj b/Source/UnitTests/UnitTests.vcxproj
index e0295fba9c..6cf886c6c6 100644
--- a/Source/UnitTests/UnitTests.vcxproj
+++ b/Source/UnitTests/UnitTests.vcxproj
@@ -12,6 +12,7 @@
+
@@ -95,7 +96,8 @@
{0e033be3-2e08-428e-9ae9-bc673efa12b5}
-
+
+
diff --git a/Source/VSProps/Base.Dolphin.props b/Source/VSProps/Base.Dolphin.props
new file mode 100644
index 0000000000..968848730b
--- /dev/null
+++ b/Source/VSProps/Base.Dolphin.props
@@ -0,0 +1,87 @@
+
+
+
+
+ $(ProjectName)$(TargetSuffix)
+
+
+
+
+ $(CoreDir);%(AdditionalIncludeDirectories)
+
+
+ $(ExternalsDir)FFmpeg-bin\$(Platform)\include;%(AdditionalIncludeDirectories)
+ $(ExternalsDir)OpenAL\include;%(AdditionalIncludeDirectories)
+ $(ExternalsDir)rangeset\include;%(AdditionalIncludeDirectories)
+ $(ExternalsDir)Vulkan\include;%(AdditionalIncludeDirectories)
+ $(ExternalsDir)WIL\include;%(AdditionalIncludeDirectories)
+
+ WIL_SUPPRESS_EXCEPTIONS;%(PreprocessorDefinitions)
+
+ WIN32_LEAN_AND_MEAN;NOMINMAX;%(PreprocessorDefinitions)
+
+
+ _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)
+
+ _WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)
+
+ _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING;%(PreprocessorDefinitions)
+
+ _SILENCE_CXX20_OLD_SHARED_PTR_ATOMIC_SUPPORT_DEPRECATION_WARNING;%(PreprocessorDefinitions)
+
+
+ _ARCH_64=1;_M_X86=1;_M_X86_64=1;%(PreprocessorDefinitions)
+ _ARCH_64=1;_M_ARM_64=1;%(PreprocessorDefinitions)
+ USE_UPNP;__LIBUSB__;%(PreprocessorDefinitions)
+ USE_ANALYTICS=1;%(PreprocessorDefinitions)
+ USE_DISCORD_PRESENCE;%(PreprocessorDefinitions)
+ HAVE_FFMPEG;%(PreprocessorDefinitions)
+ HAS_OPENGL;%(PreprocessorDefinitions)
+ HAS_VULKAN;%(PreprocessorDefinitions)
+ HAS_LIBMGBA;%(PreprocessorDefinitions)
+ AUTOUPDATE;%(PreprocessorDefinitions)
+ HAVE_SDL2;%(PreprocessorDefinitions)
+
+
+ 4201;4127;4100;4244;4121;4324;4714;%(DisableSpecificWarnings)
+
+ 4245;%(DisableSpecificWarnings)
+
+ /w44263 /w44265 /w44946 %(AdditionalOptions)
+
+
+
+ avrt.lib;iphlpapi.lib;winmm.lib;setupapi.lib;rpcrt4.lib;comctl32.lib;Shlwapi.lib;%(AdditionalDependencies)
+ opengl32.lib;%(AdditionalDependencies)
+
+ avcodec.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;Bcrypt.lib;%(AdditionalDependencies)
+ $(ExternalsDir)FFmpeg-bin\$(Platform)\lib;%(AdditionalLibraryDirectories)
+
+ enableCompatPatches
+
+
+
+
+ /NODEFAULTLIB:msvcrt %(AdditionalOptions)
+
+
+
diff --git a/Source/VSProps/Base.props b/Source/VSProps/Base.props
index d39ca77690..29f3d6ffbf 100644
--- a/Source/VSProps/Base.props
+++ b/Source/VSProps/Base.props
@@ -1,104 +1,25 @@
+
$(BuildRootDir)$(Platform)\$(Configuration)\$(ProjectName)\
$(IntDir)bin\
- $(ProjectName)$(TargetSuffix)
false
-
- false
- $(CoreDir);%(AdditionalIncludeDirectories)
-
- $(ExternalsDir)Bochs_disasm;%(AdditionalIncludeDirectories)
- $(ExternalsDir)bzip2;%(AdditionalIncludeDirectories)
- $(ExternalsDir)cpp-optparse;%(AdditionalIncludeDirectories)
- $(ExternalsDir)FreeSurround\include;%(AdditionalIncludeDirectories)
- $(ExternalsDir)cubeb\include;$(ExternalsDir)cubeb\msvc;%(AdditionalIncludeDirectories)
- $(ExternalsDir)curl\include;%(AdditionalIncludeDirectories)
- $(ExternalsDir)discord-rpc\include;%(AdditionalIncludeDirectories)
- $(ExternalsDir)ed25519;%(AdditionalIncludeDirectories)
- $(ExternalsDir)enet\include;%(AdditionalIncludeDirectories)
- $(ExternalsDir)FFmpeg-bin\$(Platform)\include;%(AdditionalIncludeDirectories)
- $(ExternalsDir)FatFs;%(AdditionalIncludeDirectories)
- $(ExternalsDir)fmt\include;%(AdditionalIncludeDirectories)
- $(ExternalsDir)GL;%(AdditionalIncludeDirectories)
- $(ExternalsDir)glslang;$(ExternalsDir)glslang\StandAlone;$(ExternalsDir)glslang\glslang\Public;$(ExternalsDir)glslang\SPIRV;%(AdditionalIncludeDirectories)
- $(ExternalsDir)spirv_cross\SPIRV-Cross;%(AdditionalIncludeDirectories)
- $(ExternalsDir)imgui;%(AdditionalIncludeDirectories)
- $(ExternalsDir)liblzma\api;%(AdditionalIncludeDirectories)
- $(ExternalsDir)libspng\libspng\spng;%(AdditionalIncludeDirectories)
- $(ExternalsDir)libusb\libusb\libusb;%(AdditionalIncludeDirectories)
- $(ExternalsDir)LZO;%(AdditionalIncludeDirectories)
- $(ExternalsDir)mGBA\mgba\include;%(AdditionalIncludeDirectories)
- $(ExternalsDir)miniupnpc\src;%(AdditionalIncludeDirectories)
- $(ExternalsDir)minizip;%(AdditionalIncludeDirectories)
- $(ExternalsDir)mbedtls\include;%(AdditionalIncludeDirectories)
- $(ExternalsDir)OpenAL\include;%(AdditionalIncludeDirectories)
- $(ExternalsDir)picojson;%(AdditionalIncludeDirectories)
- $(ExternalsDir)pugixml;%(AdditionalIncludeDirectories)
- $(ExternalsDir)rangeset\include;%(AdditionalIncludeDirectories)
- $(ExternalsDir)SDL\SDL\include;%(AdditionalIncludeDirectories)
- $(ExternalsDir)SFML\include;%(AdditionalIncludeDirectories)
- $(ExternalsDir)soundtouch;%(AdditionalIncludeDirectories)
- $(ExternalsDir)Vulkan\include;%(AdditionalIncludeDirectories)
- $(ExternalsDir)WIL\include;%(AdditionalIncludeDirectories)
- $(ExternalsDir)xxhash;%(AdditionalIncludeDirectories)
- $(ExternalsDir)zlib-ng;%(AdditionalIncludeDirectories)
- $(ExternalsDir)zstd\lib;%(AdditionalIncludeDirectories)
TurnOffAllWarnings
true
true
true
-
- _CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)
-
- _WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)
-
- _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING;%(PreprocessorDefinitions)
-
- _SILENCE_CXX20_OLD_SHARED_PTR_ATOMIC_SUPPORT_DEPRECATION_WARNING;%(PreprocessorDefinitions)
- USE_UPNP;__LIBUSB__;%(PreprocessorDefinitions)
- SFML_STATIC;%(PreprocessorDefinitions)
- USE_ANALYTICS=1;%(PreprocessorDefinitions)
- USE_DISCORD_PRESENCE;%(PreprocessorDefinitions)
- CURL_STATICLIB;%(PreprocessorDefinitions)
- WIL_SUPPRESS_EXCEPTIONS;%(PreprocessorDefinitions)
- LZMA_API_STATIC;%(PreprocessorDefinitions)
- _ARCH_64=1;_M_X86=1;_M_X86_64=1;%(PreprocessorDefinitions)
- _ARCH_64=1;_M_ARM_64=1;%(PreprocessorDefinitions)
- HAVE_FFMPEG;%(PreprocessorDefinitions)
- USE_GDBSTUB;%(PreprocessorDefinitions)
- HAS_OPENGL;%(PreprocessorDefinitions)
- HAS_VULKAN;%(PreprocessorDefinitions)
- HAS_LIBMGBA;%(PreprocessorDefinitions)
- AUTOUPDATE=1;%(PreprocessorDefinitions)
- SPIRV_CROSS_EXCEPTIONS_TO_ASSERTIONS;%(PreprocessorDefinitions)
- HAVE_SDL2=1;%(PreprocessorDefinitions)
- SPNG_STATIC;%(PreprocessorDefinitions)
-
- WIN32_LEAN_AND_MEAN;NOMINMAX;%(PreprocessorDefinitions)
+
Level4
true
true
@@ -119,28 +40,6 @@
/utf-8 %(AdditionalOptions)
OldStyle
Caret
-
- 4201;4127;4100;4244;4121;4324;4714;%(DisableSpecificWarnings)
-
- 4245;%(DisableSpecificWarnings)
-
- /w44263 /w44265 /w44946 %(AdditionalOptions)
-
- avrt.lib;iphlpapi.lib;winmm.lib;setupapi.lib;rpcrt4.lib;comctl32.lib;Shlwapi.lib;%(AdditionalDependencies)
- opengl32.lib;%(AdditionalDependencies)
-
- avcodec.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;Bcrypt.lib;%(AdditionalDependencies)
- $(ExternalsDir)FFmpeg-bin\$(Platform)\lib;%(AdditionalLibraryDirectories)
-
- enableCompatPatches
-
-
-
-
- /NODEFAULTLIB:msvcrt %(AdditionalOptions)
-
true
true