diff --git a/.ci/setup-windows.sh b/.ci/setup-windows.sh
index 2564ae395524..d20d8169983f 100755
--- a/.ci/setup-windows.sh
+++ b/.ci/setup-windows.sh
@@ -68,7 +68,7 @@ download_and_verify()
}
# Some dependencies install here
-[ -d "./lib" ] || mkdir "./lib"
+[ -d "./build/lib_ext/Release-x64" ] || mkdir -p "./build/lib_ext/Release-x64"
for url in $DEP_URLS; do
# Get the filename from the URL and remove query strings (?arg=something).
@@ -78,8 +78,8 @@ for url in $DEP_URLS; do
# shellcheck disable=SC1003
case "$url" in
*qt*) checksum=$(curl -fL "${url}.sha1"); algo="sha1"; outDir='C:\Qt\' ;;
- *llvm*) checksum=$(curl -fL "${url}.sha256"); algo="sha256"; outDir="./3rdparty/llvm" ;;
- *glslang*) checksum=$(curl -fL "${url}.sha256"); algo="sha256"; outDir="./lib/Release-x64" ;;
+ *llvm*) checksum=$(curl -fL "${url}.sha256"); algo="sha256"; outDir="./build/lib_ext/Release-x64" ;;
+ *glslang*) checksum=$(curl -fL "${url}.sha256"); algo="sha256"; outDir="./build/lib_ext/Release-x64" ;;
*Vulkan*)
# Vulkan setup needs to be run in batch environment
# Need to subshell this or else it doesn't wait
diff --git a/3rdparty/7zip/7zip.vcxproj b/3rdparty/7zip/7zip.vcxproj
index 11556f03d68e..f8420f7b106e 100644
--- a/3rdparty/7zip/7zip.vcxproj
+++ b/3rdparty/7zip/7zip.vcxproj
@@ -179,8 +179,8 @@
- $(SolutionDir)lib/$(Configuration)-$(Platform)/
- $(SolutionDir)tmp\$(ProjectName)-$(Configuration)-$(Platform)/
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
false
diff --git a/3rdparty/OpenAL/openal-soft.vcxproj b/3rdparty/OpenAL/openal-soft.vcxproj
index b932815fa8a6..2d5823ba2d0c 100644
--- a/3rdparty/OpenAL/openal-soft.vcxproj
+++ b/3rdparty/OpenAL/openal-soft.vcxproj
@@ -48,34 +48,54 @@
call vsdevcmd.bat -arch=amd64
- cd ./openal-soft/build
- cmake -G Ninja -DCMAKE_CXX_COMPILER="cl.exe" -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_BUILD_TYPE="Release" -DCMAKE_INSTALL_PREFIX="./Release" -DCMAKE_SYSTEM_VERSION=6.1 -DLIBTYPE=STATIC -DFORCE_STATIC_VCRT=true -DALSOFT_UTILS=false -DALSOFT_EXAMPLES=false -DALSOFT_INSTALL=false -DALSOFT_INSTALL_CONFIG=false -DALSOFT_INSTALL_HRTF_DATA=false -DALSOFT_INSTALL_AMBDEC_PRESETS=false -DALSOFT_INSTALL_EXAMPLES=false -DALSOFT_INSTALL_UTILS=false ..
+ cd $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)
+ cmake -G Ninja -DCMAKE_CXX_COMPILER="cl.exe" -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_BUILD_TYPE="Release" -DCMAKE_INSTALL_PREFIX="./Release" -DCMAKE_SYSTEM_VERSION=6.1 -DLIBTYPE=STATIC -DFORCE_STATIC_VCRT=true -DALSOFT_UTILS=false -DALSOFT_EXAMPLES=false -DALSOFT_INSTALL=false -DALSOFT_INSTALL_CONFIG=false -DALSOFT_INSTALL_HRTF_DATA=false -DALSOFT_INSTALL_AMBDEC_PRESETS=false -DALSOFT_INSTALL_EXAMPLES=false -DALSOFT_INSTALL_UTILS=false $(SolutionDir)3rdparty\OpenAL\openal-soft
+
call vsdevcmd.bat -arch=amd64
- cd ./openal-soft/build
- cmake -G Ninja -DCMAKE_CXX_COMPILER="cl.exe" -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_INSTALL_PREFIX="./Debug" -DCMAKE_SYSTEM_VERSION=6.1 -DLIBTYPE=STATIC -DALSOFT_UTILS=false -DALSOFT_EXAMPLES=false -DALSOFT_INSTALL=false -DALSOFT_INSTALL_CONFIG=false -DALSOFT_INSTALL_HRTF_DATA=false -DALSOFT_INSTALL_AMBDEC_PRESETS=false -DALSOFT_INSTALL_EXAMPLES=false -DALSOFT_INSTALL_UTILS=false ..
- echo Cleaning..
- cd ./openal-soft/build
+ cd $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)
+ cmake -G Ninja -DCMAKE_CXX_COMPILER="cl.exe" -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_INSTALL_PREFIX="./Debug" -DCMAKE_SYSTEM_VERSION=6.1 -DLIBTYPE=STATIC -DALSOFT_UTILS=false -DALSOFT_EXAMPLES=false -DALSOFT_INSTALL=false -DALSOFT_INSTALL_CONFIG=false -DALSOFT_INSTALL_HRTF_DATA=false -DALSOFT_INSTALL_AMBDEC_PRESETS=false -DALSOFT_INSTALL_EXAMPLES=false -DALSOFT_INSTALL_UTILS=false $(SolutionDir)3rdparty\OpenAL\openal-soft
+
+
+ echo Copying..
+ copy $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\OpenAL32.lib $(SolutionDir)build\lib\$(Configuration)-$(Platform)
+
+
+ echo Cleaning..
+ del $(SolutionDir)build\lib\$(Configuration)-$(Platform)\OpenAL32.lib
+ rmdir /s /q $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)
- $(CmakeDebugCLI)
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
+
+ $(CmakeDebugCLI)
ninja
+ $(CmakeCopyCLI)
- del CMakeCache.txt
+
+ $(CmakeCleanCLI)
$(CmakeDebugCLI)
ninja
+ $(CmakeCopyCLI)
$(CmakeCleanCLI)
- $(CmakeReleaseCLI)
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
+
+ $(CmakeReleaseCLI)
ninja
+ $(CmakeCopyCLI)
- del CMakeCache.txt
+
+ $(CmakeCleanCLI)
$(CmakeReleaseCLI)
ninja
+ $(CmakeCopyCLI)
$(CmakeCleanCLI)
diff --git a/3rdparty/asmjit/asmjit.vcxproj b/3rdparty/asmjit/asmjit.vcxproj
index 7165eaef97d2..b53b790f1c7c 100644
--- a/3rdparty/asmjit/asmjit.vcxproj
+++ b/3rdparty/asmjit/asmjit.vcxproj
@@ -179,6 +179,14 @@
x64
+
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
+
+
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
+
diff --git a/3rdparty/cubeb/libcubeb.vcxproj b/3rdparty/cubeb/libcubeb.vcxproj
index 2ec878e04ab1..36229297fe08 100644
--- a/3rdparty/cubeb/libcubeb.vcxproj
+++ b/3rdparty/cubeb/libcubeb.vcxproj
@@ -73,6 +73,14 @@
+
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
+
+
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
+
TurnOffAllWarnings
diff --git a/3rdparty/curl/libcurl.vcxproj b/3rdparty/curl/libcurl.vcxproj
index f583ca3258de..3db68e9c1674 100644
--- a/3rdparty/curl/libcurl.vcxproj
+++ b/3rdparty/curl/libcurl.vcxproj
@@ -33,8 +33,8 @@
<_ProjectFileVersion>10.0.30319.1
- $(SolutionDir)lib\$(Configuration)-$(Platform)\
- $(SolutionDir)tmp\$(ProjectName)-$(Configuration)-$(Platform)\
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
diff --git a/3rdparty/glslang/glslang.vcxproj b/3rdparty/glslang/glslang.vcxproj
index 60827e37e2e6..0da04a32093c 100644
--- a/3rdparty/glslang/glslang.vcxproj
+++ b/3rdparty/glslang/glslang.vcxproj
@@ -39,31 +39,63 @@
"Visual Studio $(VisualStudioVersion.Substring(0,2))"
call vsdevcmd.bat -arch=amd64
- cmake -G $(CmakeGenerator) -A x64 -DCMAKE_BUILD_TYPE="Release" -DLLVM_USE_CRT_DEBUG=MDd -DLLVM_USE_CRT_RELEASE=MT -DENABLE_OPT=OFF -S glslang -B build
+ cmake -G $(CmakeGenerator) -A x64 -DCMAKE_BUILD_TYPE="Release" -DLLVM_USE_CRT_DEBUG=MDd -DLLVM_USE_CRT_RELEASE=MT -DENABLE_OPT=OFF -S glslang -B $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)
+
call vsdevcmd.bat -arch=amd64
- cmake -G $(CmakeGenerator) -A x64 -DCMAKE_BUILD_TYPE="Debug" -DLLVM_USE_CRT_DEBUG=MDd -DLLVM_USE_CRT_RELEASE=MT -DENABLE_OPT=OFF -S glslang -B build
+ cmake -G $(CmakeGenerator) -A x64 -DCMAKE_BUILD_TYPE="Debug" -DLLVM_USE_CRT_DEBUG=MDd -DLLVM_USE_CRT_RELEASE=MT -DENABLE_OPT=OFF -S glslang -B $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)
+
+
+ echo Copying..
+ mkdir $(SolutionDir)build\lib\$(Configuration)-$(Platform)\$(ProjectName)
+ copy $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\hlsl\$(CONFIGURATION)\*.lib $(SolutionDir)build\lib\$(Configuration)-$(Platform)\$(ProjectName)
+ copy $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\SPIRV\$(CONFIGURATION)\*.lib $(SolutionDir)build\lib\$(Configuration)-$(Platform)\$(ProjectName)
+ copy $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\OGLCompilersDLL\$(CONFIGURATION)\*.lib $(SolutionDir)build\lib\$(Configuration)-$(Platform)\$(ProjectName)
+ copy $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\glslang\OSDependent\Windows\$(CONFIGURATION)\*.lib $(SolutionDir)build\lib\$(Configuration)-$(Platform)\$(ProjectName)
+ copy $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\glslang\$(CONFIGURATION)\*.lib $(SolutionDir)build\lib\$(Configuration)-$(Platform)\$(ProjectName)
+
+
+ echo Cleaning..
+ rmdir /s /q $(SolutionDir)build\lib\$(Configuration)-$(Platform)\$(ProjectName)
+ rmdir /s /q $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)
+
$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\..\buildfiles\msvc\common_default.props'))
- $(CmakeReleaseCLI)
- msbuild.exe build\ALL_BUILD.vcxproj /t:build /p:Configuration=Release /p:ForceImportBeforeCppTargets="$(PropsAbsPath)" /m
- $(CmakeReleaseCLI)
- msbuild.exe build\ALL_BUILD.vcxproj /t:rebuild /p:Configuration=Release /p:ForceImportBeforeCppTargets="$(PropsAbsPath)" /m
- $(CmakeReleaseCLI)
- msbuild.exe build\ALL_BUILD.vcxproj /t:clean /p:Configuration=Release /p:ForceImportBeforeCppTargets="$(PropsAbsPath)" /m
- rmdir /s /q build
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
+
+ $(CmakeReleaseCLI)
+ msbuild.exe $(IntDir)\ALL_BUILD.vcxproj /t:build /p:Configuration=Release /p:ForceImportBeforeCppTargets="$(PropsAbsPath)" /m
+ $(CmakeCopyCLI)
+
+
+ $(CmakeReleaseCLI)
+ msbuild.exe $(IntDir)\ALL_BUILD.vcxproj /t:rebuild /p:Configuration=Release /p:ForceImportBeforeCppTargets="$(PropsAbsPath)" /m
+ $(CmakeCopyCLI)
+
+
+ $(CmakeReleaseCLI)
+ msbuild.exe $(IntDir)\ALL_BUILD.vcxproj /t:clean /p:Configuration=Release /p:ForceImportBeforeCppTargets="$(PropsAbsPath)" /m
+ $(CmakeCleanCLI)
- $(CmakeDebugCLI)
- msbuild.exe build\ALL_BUILD.vcxproj /t:build /p:Configuration=Debug /p:ForceImportBeforeCppTargets="$(PropsAbsPath)" /m
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
+
+ $(CmakeDebugCLI)
+ msbuild.exe $(IntDir)\ALL_BUILD.vcxproj /t:build /p:Configuration=Debug /p:ForceImportBeforeCppTargets="$(PropsAbsPath)" /m
+ $(CmakeCopyCLI)
- $(CmakeDebugCLI)
- msbuild.exe build\ALL_BUILD.vcxproj /t:rebuild /p:Configuration=Debug /p:ForceImportBeforeCppTargets="$(PropsAbsPath)" /m
+
+ $(CmakeDebugCLI)
+ msbuild.exe $(IntDir)\ALL_BUILD.vcxproj /t:rebuild /p:Configuration=Debug /p:ForceImportBeforeCppTargets="$(PropsAbsPath)" /m
+ $(CmakeCopyCLI)
- $(CmakeDebugCLI)
- msbuild.exe build\ALL_BUILD.vcxproj /t:clean /p:Configuration=Debug /p:ForceImportBeforeCppTargets="$(PropsAbsPath)" /m
- rmdir /s /q build
+
+ $(CmakeDebugCLI)
+ msbuild.exe $(IntDir)\ALL_BUILD.vcxproj /t:clean /p:Configuration=Debug /p:ForceImportBeforeCppTargets="$(PropsAbsPath)" /m
+ $(CmakeCleanCLI)
diff --git a/3rdparty/hidapi/hidapi.vcxproj b/3rdparty/hidapi/hidapi.vcxproj
index 2c4c8d218cb7..6f6dc198e2e5 100644
--- a/3rdparty/hidapi/hidapi.vcxproj
+++ b/3rdparty/hidapi/hidapi.vcxproj
@@ -44,13 +44,13 @@
true
- $(SolutionDir)lib\$(Configuration)-$(Platform)/
- $(SolutionDir)tmp\$(ProjectName)-$(Configuration)-$(Platform)/
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
false
- $(SolutionDir)lib\$(Configuration)-$(Platform)/
- $(SolutionDir)tmp\$(ProjectName)-$(Configuration)-$(Platform)/
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
diff --git a/3rdparty/libpng/libpng.vcxproj b/3rdparty/libpng/libpng.vcxproj
index c08a82d77d52..189db8e30753 100644
--- a/3rdparty/libpng/libpng.vcxproj
+++ b/3rdparty/libpng/libpng.vcxproj
@@ -44,15 +44,15 @@
false
$(ProjectName)16
- $(SolutionDir)lib\$(Configuration)-$(Platform)/
- $(SolutionDir)tmp\$(ProjectName)-$(Configuration)-$(Platform)/
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
false
$(ProjectName)16
- $(SolutionDir)lib\$(Configuration)-$(Platform)/
- $(SolutionDir)tmp\$(ProjectName)-$(Configuration)-$(Platform)/
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
diff --git a/3rdparty/libpng/pnglibconf.vcxproj b/3rdparty/libpng/pnglibconf.vcxproj
index e4a22c8af691..6c43778af850 100644
--- a/3rdparty/libpng/pnglibconf.vcxproj
+++ b/3rdparty/libpng/pnglibconf.vcxproj
@@ -32,7 +32,8 @@
Build
- $(SolutionDir)tmp\$(ProjectName)-$(Configuration)-$(Platform)\
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
diff --git a/3rdparty/libusb/libusb_static.vcxproj b/3rdparty/libusb/libusb_static.vcxproj
index 96c88f6f7a7b..66dfc2ac297e 100644
--- a/3rdparty/libusb/libusb_static.vcxproj
+++ b/3rdparty/libusb/libusb_static.vcxproj
@@ -35,8 +35,8 @@
<_ProjectFileVersion>10.0.30319.1
- $(SolutionDir)lib\$(Configuration)-$(Platform)/
- $(SolutionDir)tmp\$(ProjectName)-$(Configuration)-$(Platform)/
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
libusb-1.0
diff --git a/3rdparty/llvm/llvm_build/llvm_build_clang_cl.vcxproj b/3rdparty/llvm/llvm_build.vcxproj
similarity index 56%
rename from 3rdparty/llvm/llvm_build/llvm_build_clang_cl.vcxproj
rename to 3rdparty/llvm/llvm_build.vcxproj
index 8870314519f1..fe3517a5d936 100644
--- a/3rdparty/llvm/llvm_build/llvm_build_clang_cl.vcxproj
+++ b/3rdparty/llvm/llvm_build.vcxproj
@@ -11,10 +11,10 @@
- {A37E4273-85DB-4217-B775-CE971B87D9DF}
+ {8BC303AB-25BE-4276-8E57-73F171B2D672}
MakeFileProj
-
+
@@ -39,10 +39,17 @@
call vsdevcmd.bat -arch=amd64
- cmake -G Ninja -DCMAKE_CXX_COMPILER="clang-cl.exe" -DCMAKE_C_COMPILER="clang-cl.exe" -DCMAKE_BUILD_TYPE="Release" -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_DEFAULT_TARGET_TRIPLE:STRING=x86_64-pc-windows-msvc -DLLVM_HOST_TRIPLE:STRING=x86_64-pc-windows-msvc -DCMAKE_INSTALL_PREFIX="./Release" -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_UTILS=OFF -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=$(WindowsTargetPlatformVersion) -DLLVM_USE_CRT_DEBUG=MDd -DLLVM_USE_CRT_RELEASE=MT -DLLVM_USE_INTEL_JITEVENTS=ON ../llvm/llvm
+ cd $(SolutionDir)build\tmp\llvm_build-$(Configuration)-$(Platform)
+ cmake -G Ninja -DCMAKE_CXX_COMPILER="cl.exe" -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_BUILD_TYPE="Release" -DCMAKE_INSTALL_PREFIX="$(SolutionDir)build\lib\$(Configuration)-$(Platform)\llvm_build" -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_DEFAULT_TARGET_TRIPLE:STRING=x86_64-pc-windows-msvc -DLLVM_HOST_TRIPLE:STRING=x86_64-pc-windows-msvc -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_UTILS=OFF -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=$(WindowsTargetPlatformVersion) -DLLVM_USE_CRT_DEBUG=MDd -DLLVM_USE_CRT_RELEASE=MT -DLLVM_USE_INTEL_JITEVENTS=ON $(SolutionDir)3rdparty\llvm\llvm\llvm
+
call vsdevcmd.bat -arch=amd64
- cmake -G Ninja -DCMAKE_CXX_COMPILER="clang-cl.exe" -DCMAKE_C_COMPILER="clang-cl.exe" -DCMAKE_BUILD_TYPE="Debug" -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_DEFAULT_TARGET_TRIPLE:STRING=x86_64-pc-windows-msvc -DLLVM_HOST_TRIPLE:STRING=x86_64-pc-windows-msvc -DCMAKE_INSTALL_PREFIX="./Debug" -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_UTILS=OFF -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=$(WindowsTargetPlatformVersion) -DLLVM_USE_CRT_DEBUG=MDd -DLLVM_USE_CRT_RELEASE=MT -DLLVM_USE_INTEL_JITEVENTS=ON ../llvm/llvm
- echo Cleaning..
+ cd $(SolutionDir)build\tmp\llvm_build-$(Configuration)-$(Platform)
+ cmake -G Ninja -DCMAKE_CXX_COMPILER="cl.exe" -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_INSTALL_PREFIX="$(SolutionDir)build\lib\$(Configuration)-$(Platform)\llvm_build" -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_DEFAULT_TARGET_TRIPLE:STRING=x86_64-pc-windows-msvc -DLLVM_HOST_TRIPLE:STRING=x86_64-pc-windows-msvc -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_UTILS=OFF -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=$(WindowsTargetPlatformVersion) -DLLVM_USE_CRT_DEBUG=MDd -DLLVM_USE_CRT_RELEASE=MT -DLLVM_USE_INTEL_JITEVENTS=ON $(SolutionDir)3rdparty\llvm\llvm\llvm
+
+
+ echo Cleaning..
+ rmdir /s /q $(SolutionDir)build\lib\$(Configuration)-$(Platform)\llvm_build
+ cd $(SolutionDir)build\tmp\llvm_build-$(Configuration)-$(Platform)
for /F "delims= eol=|" %%f in ('
dir /b ^| findstr /V "[^.]*\build[^.]*\.vcxproj"') do (
echo Deleting .\%%f
@@ -57,11 +64,15 @@
- $(CmakeDebugCLI)
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
+
+ $(CmakeDebugCLI)
ninja
ninja install
- del CMakeCache.txt
+
+ $(CmakeCleanCLI)
$(CmakeDebugCLI)
ninja
ninja install
@@ -71,12 +82,17 @@
-
- $(CmakeReleaseCLI)
+
+
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
+
+ $(CmakeReleaseCLI)
ninja
ninja install
- del CMakeCache.txt
+
+ $(CmakeCleanCLI)
$(CmakeReleaseCLI)
ninja
ninja install
diff --git a/3rdparty/llvm/llvm_build/llvm_build.vcxproj.filters b/3rdparty/llvm/llvm_build.vcxproj.filters
similarity index 100%
rename from 3rdparty/llvm/llvm_build/llvm_build.vcxproj.filters
rename to 3rdparty/llvm/llvm_build.vcxproj.filters
diff --git a/3rdparty/llvm/llvm_build/llvm_build.vcxproj b/3rdparty/llvm/llvm_build_clang_cl.vcxproj
similarity index 64%
rename from 3rdparty/llvm/llvm_build/llvm_build.vcxproj
rename to 3rdparty/llvm/llvm_build_clang_cl.vcxproj
index 110790817578..a124b1a9a550 100644
--- a/3rdparty/llvm/llvm_build/llvm_build.vcxproj
+++ b/3rdparty/llvm/llvm_build_clang_cl.vcxproj
@@ -11,10 +11,10 @@
- {8BC303AB-25BE-4276-8E57-73F171B2D672}
+ {A37E4273-85DB-4217-B775-CE971B87D9DF}
MakeFileProj
-
+
@@ -39,10 +39,17 @@
call vsdevcmd.bat -arch=amd64
- cmake -G Ninja -DCMAKE_CXX_COMPILER="cl.exe" -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_BUILD_TYPE="Release" -DCMAKE_INSTALL_PREFIX="./Release" -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_DEFAULT_TARGET_TRIPLE:STRING=x86_64-pc-windows-msvc -DLLVM_HOST_TRIPLE:STRING=x86_64-pc-windows-msvc -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_UTILS=OFF -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=$(WindowsTargetPlatformVersion) -DLLVM_USE_CRT_DEBUG=MDd -DLLVM_USE_CRT_RELEASE=MT -DLLVM_USE_INTEL_JITEVENTS=ON ../llvm/llvm
+ cd $(SolutionDir)build\tmp\llvm_build-$(Configuration)-$(Platform)
+ cmake -G Ninja -DCMAKE_CXX_COMPILER="clang-cl.exe" -DCMAKE_C_COMPILER="clang-cl.exe" -DCMAKE_BUILD_TYPE="Release" -DCMAKE_INSTALL_PREFIX="$(SolutionDir)build\lib\$(Configuration)-$(Platform)\llvm_build" -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_DEFAULT_TARGET_TRIPLE:STRING=x86_64-pc-windows-msvc -DLLVM_HOST_TRIPLE:STRING=x86_64-pc-windows-msvc -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_UTILS=OFF -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=$(WindowsTargetPlatformVersion) -DLLVM_USE_CRT_DEBUG=MDd -DLLVM_USE_CRT_RELEASE=MT -DLLVM_USE_INTEL_JITEVENTS=ON $(SolutionDir)3rdparty\llvm\llvm\llvm
+
call vsdevcmd.bat -arch=amd64
- cmake -G Ninja -DCMAKE_CXX_COMPILER="cl.exe" -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_INSTALL_PREFIX="./Debug" -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_DEFAULT_TARGET_TRIPLE:STRING=x86_64-pc-windows-msvc -DLLVM_HOST_TRIPLE:STRING=x86_64-pc-windows-msvc -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_UTILS=OFF -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=$(WindowsTargetPlatformVersion) -DLLVM_USE_CRT_DEBUG=MDd -DLLVM_USE_CRT_RELEASE=MT -DLLVM_USE_INTEL_JITEVENTS=ON ../llvm/llvm
- echo Cleaning..
+ cd $(SolutionDir)build\tmp\llvm_build-$(Configuration)-$(Platform)
+ cmake -G Ninja -DCMAKE_CXX_COMPILER="clang-cl.exe" -DCMAKE_C_COMPILER="clang-cl.exe" -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_INSTALL_PREFIX="$(SolutionDir)build\lib\$(Configuration)-$(Platform)\llvm_build" -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_DEFAULT_TARGET_TRIPLE:STRING=x86_64-pc-windows-msvc -DLLVM_HOST_TRIPLE:STRING=x86_64-pc-windows-msvc -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_UTILS=OFF -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=$(WindowsTargetPlatformVersion) -DLLVM_USE_CRT_DEBUG=MDd -DLLVM_USE_CRT_RELEASE=MT -DLLVM_USE_INTEL_JITEVENTS=ON $(SolutionDir)3rdparty\llvm\llvm\llvm
+
+
+ echo Cleaning..
+ rmdir /s /q $(SolutionDir)build\lib\$(Configuration)-$(Platform)\llvm_build
+ cd $(SolutionDir)build\tmp\llvm_build-$(Configuration)-$(Platform)
for /F "delims= eol=|" %%f in ('
dir /b ^| findstr /V "[^.]*\build[^.]*\.vcxproj"') do (
echo Deleting .\%%f
@@ -57,11 +64,15 @@
- $(CmakeDebugCLI)
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
+
+ $(CmakeDebugCLI)
ninja
ninja install
- del CMakeCache.txt
+
+ $(CmakeCleanCLI)
$(CmakeDebugCLI)
ninja
ninja install
@@ -71,12 +82,17 @@
-
- $(CmakeReleaseCLI)
+
+
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
+
+ $(CmakeReleaseCLI)
ninja
ninja install
- del CMakeCache.txt
+
+ $(CmakeCleanCLI)
$(CmakeReleaseCLI)
ninja
ninja install
diff --git a/3rdparty/llvm/llvm_build/llvm_build_clang_cl.vcxproj.filters b/3rdparty/llvm/llvm_build_clang_cl.vcxproj.filters
similarity index 100%
rename from 3rdparty/llvm/llvm_build/llvm_build_clang_cl.vcxproj.filters
rename to 3rdparty/llvm/llvm_build_clang_cl.vcxproj.filters
diff --git a/3rdparty/miniupnp/miniupnpc_static.vcxproj b/3rdparty/miniupnp/miniupnpc_static.vcxproj
index c2e5ddaefb38..e331c013d477 100644
--- a/3rdparty/miniupnp/miniupnpc_static.vcxproj
+++ b/3rdparty/miniupnp/miniupnpc_static.vcxproj
@@ -43,11 +43,13 @@
true
- $(SolutionDir)lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
false
- $(SolutionDir)lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
diff --git a/3rdparty/rtmidi/rtmidi.vcxproj b/3rdparty/rtmidi/rtmidi.vcxproj
index fb1ffebc35a2..0792f594e83d 100644
--- a/3rdparty/rtmidi/rtmidi.vcxproj
+++ b/3rdparty/rtmidi/rtmidi.vcxproj
@@ -58,4 +58,4 @@
-
+
\ No newline at end of file
diff --git a/3rdparty/wolfssl/wolfssl.vcxproj b/3rdparty/wolfssl/wolfssl.vcxproj
index 629dc1e6871c..e3da6588f852 100644
--- a/3rdparty/wolfssl/wolfssl.vcxproj
+++ b/3rdparty/wolfssl/wolfssl.vcxproj
@@ -41,8 +41,8 @@
- $(SolutionDir)lib\$(Configuration)-$(Platform)\
- $(SolutionDir)tmp\$(ProjectName)-$(Configuration)-$(Platform)\
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
diff --git a/3rdparty/yaml-cpp/yaml-cpp.vcxproj b/3rdparty/yaml-cpp/yaml-cpp.vcxproj
index 361a94c0bfc6..b1b732727cf5 100644
--- a/3rdparty/yaml-cpp/yaml-cpp.vcxproj
+++ b/3rdparty/yaml-cpp/yaml-cpp.vcxproj
@@ -25,6 +25,14 @@
x64
+
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
+
+
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
+
diff --git a/3rdparty/zlib/zlib.vcxproj b/3rdparty/zlib/zlib.vcxproj
index 9547dbfb9b1d..f0daafdd1434 100644
--- a/3rdparty/zlib/zlib.vcxproj
+++ b/3rdparty/zlib/zlib.vcxproj
@@ -70,13 +70,13 @@
true
- $(SolutionDir)lib\$(Configuration)-$(Platform)\
- $(SolutionDir)tmp\$(ProjectName)-$(Configuration)-$(Platform)\
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
true
- $(SolutionDir)lib\$(Configuration)-$(Platform)\
- $(SolutionDir)tmp\$(ProjectName)-$(Configuration)-$(Platform)\
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
diff --git a/3rdparty/zstd/zstd.vcxproj b/3rdparty/zstd/zstd.vcxproj
index a5dea941b5bf..8527d72ca127 100644
--- a/3rdparty/zstd/zstd.vcxproj
+++ b/3rdparty/zstd/zstd.vcxproj
@@ -106,8 +106,8 @@
Win32Proj
zstd
zstd
- $(SolutionDir)lib\$(Configuration)-$(Platform)\
- $(SolutionDir)tmp\$(ProjectName)-$(Configuration)-$(Platform)\
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
NotSet
10.0
diff --git a/BUILDING.md b/BUILDING.md
index 913359654747..4d0758005c8e 100644
--- a/BUILDING.md
+++ b/BUILDING.md
@@ -127,17 +127,23 @@ Start **Visual Studio**, click on `Open a project or solution` and select the `r
**NOTE:** The recommended build configuration is `Release`. (On older revisions: `Release - LLVM`)
-You may want to download the precompiled [LLVM libs](https://github.com/RPCS3/llvm-mirror/releases/download/custom-build-win-16.0.1/llvmlibs_mt.7z) and extract them to `3rdparty\llvm\`,
-as well as download and extract the [additional libs](https://github.com/RPCS3/glslang/releases/latest/download/glslanglibs_mt.7z) to `lib\%CONFIGURATION%-x64\` to speed up compilation
-time (unoptimised/debug libs are currently not available precompiled).
+To speed up the compilation time, you may want to download and extract to `\build\lib_ext\<$(Configuration)>-x64` (e.g. `c:\rpcs3\build\lib_ext\Release-x64`; the path needs to be created) some of the following precompiled libs:
+- [LLVM libs](https://github.com/RPCS3/llvm-mirror/releases/download/custom-build-win-16.0.1/llvmlibs_mt.7z)
+- [additional libs](https://github.com/RPCS3/glslang/releases/latest/download/glslanglibs_mt.7z)
+
+**NOTES:**
+- `<$(Configuration)>` can assume values `Release` or `Debug`.
+- Unoptimised/debug libs are currently not available precompiled for both **LLVM** and **glslang**. Trying to use them when building the **RPCS3** application in `Debug` mode will provide a `cannot open file` error.
If you're not using the precompiled libs, those dependency libs need to be compiled first. From the `Solution Explorer` panel:
1) expand `__BUILD_BEFORE`
2) from the `Solution Configurations` drop-down menu, select `Release` (select `Debug` if you want to build in `Debug` mode)
3) one after another, right-click on the following projects and then click on `Build` to build the selected lib:
- `glslang`
- - either `llvm_build`
- - or `llvm_build_clang_cl` (if you installed **clang** on VS)
+ - `llvm_build`
+ - or `llvm_build_clang_cl` (if you have also the **clang** compiler installed on VS)
+
+**NOTE:** Compiled dependency libs have priority over precompiled libs, if installed. It means that they will always be referenced and linked in case the precompiled libs are also available.
In order to build the **RPCS3** application:
1) from the `Solution Configurations` drop-down menu, select `Release` (select `Debug` if you want to build in `Debug` mode)
diff --git a/buildfiles/msvc/rpcs3_debug.props b/buildfiles/msvc/rpcs3_debug.props
index cc9ea826c337..d727f7073a04 100644
--- a/buildfiles/msvc/rpcs3_debug.props
+++ b/buildfiles/msvc/rpcs3_debug.props
@@ -14,7 +14,7 @@
LLVM_AVAILABLE;%(PreprocessorDefinitions)
- %(AdditionalLibraryDirectories);..\3rdparty\llvm\llvm_build\Debug\lib
+ %(AdditionalLibraryDirectories);$(SolutionDir)build\lib\$(Configuration)-$(Platform)\llvm_build\lib;$(SolutionDir)build\lib_ext\$(Configuration)-$(Platform)\llvm_build\$(Configuration)\lib
%(AdditionalDependencies);
LLVMAggressiveInstCombine.lib;
LLVMAnalysis.lib;
diff --git a/buildfiles/msvc/rpcs3_default.props b/buildfiles/msvc/rpcs3_default.props
index 97f0cd06962c..77aca3d0dd8a 100644
--- a/buildfiles/msvc/rpcs3_default.props
+++ b/buildfiles/msvc/rpcs3_default.props
@@ -4,9 +4,9 @@
.\;..\;..\3rdparty\asmjit\asmjit\src;..\..\3rdparty\yaml-cpp\yaml-cpp\include;..\3rdparty\ffmpeg\include;$(VC_IncludePath);$(WindowsSDK_IncludePath);$(UniversalCRT_IncludePath);..\3rdparty\libpng\libpng;..\3rdparty\GL;..\3rdparty\stblib\stb;..\3rdparty\openal\openal-soft\include\AL;..\3rdparty\pugixml\src;..\3rdparty\hidapi\hidapi;..\3rdparty\Optional;..\3rdparty\xxhash
- $(SolutionDir)lib\$(Configuration)-$(Platform)\
- $(SolutionDir)lib\$(Configuration)-$(Platform)\;$(UniversalCRT_LibraryPath_x64);$(LibraryPath)
- $(SolutionDir)tmp\$(ProjectName)-$(Configuration)-$(Platform)\
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\;$(UniversalCRT_LibraryPath_x64);$(LibraryPath)
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
diff --git a/buildfiles/msvc/rpcs3_release.props b/buildfiles/msvc/rpcs3_release.props
index 04d6550790de..c040937a754e 100644
--- a/buildfiles/msvc/rpcs3_release.props
+++ b/buildfiles/msvc/rpcs3_release.props
@@ -15,7 +15,7 @@
true
true
- %(AdditionalLibraryDirectories);..\3rdparty\llvm\llvm_build\Release\lib
+ %(AdditionalLibraryDirectories);$(SolutionDir)build\lib\$(Configuration)-$(Platform)\llvm_build\lib;$(SolutionDir)build\lib_ext\$(Configuration)-$(Platform)\llvm_build\$(Configuration)\lib
%(AdditionalDependencies);
LLVMAggressiveInstCombine.lib;
LLVMAnalysis.lib;
diff --git a/rpcs3.sln b/rpcs3.sln
index f2fd3ce821a4..9ca661550bdb 100644
--- a/rpcs3.sln
+++ b/rpcs3.sln
@@ -12,7 +12,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "emucore", "rpcs3\emucore.vc
{939FE206-1182-ABC3-1234-FEAB88E98404} = {939FE206-1182-ABC3-1234-FEAB88E98404}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "llvm_build", "3rdparty\llvm\llvm_build\llvm_build.vcxproj", "{8BC303AB-25BE-4276-8E57-73F171B2D672}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "llvm_build", "3rdparty\llvm\llvm_build.vcxproj", "{8BC303AB-25BE-4276-8E57-73F171B2D672}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GLGSRender", "rpcs3\GLGSRender.vcxproj", "{3384223A-6D97-4799-9862-359F85312892}"
EndProject
@@ -78,7 +78,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcurl", "3rdparty\curl\li
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "3rdParty", "3rdParty", "{6C3B64A0-8F8A-4DC4-8C0B-D71EBEED7FA8}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "llvm_build_clang_cl", "3rdparty\llvm\llvm_build\llvm_build_clang_cl.vcxproj", "{A37E4273-85DB-4217-B775-CE971B87D9DF}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "llvm_build_clang_cl", "3rdparty\llvm\llvm_build_clang_cl.vcxproj", "{A37E4273-85DB-4217-B775-CE971B87D9DF}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Cubeb", "rpcs3\Cubeb.vcxproj", "{9610627D-20FE-4B07-8CE3-9FF68A5F1EC2}"
EndProject
diff --git a/rpcs3/emucore.vcxproj b/rpcs3/emucore.vcxproj
index 580a40365339..a2ebc3ad2c2a 100644
--- a/rpcs3/emucore.vcxproj
+++ b/rpcs3/emucore.vcxproj
@@ -40,7 +40,7 @@
Use
- ..\3rdparty\miniupnp\miniupnp\miniupnpc\include;..\3rdparty\wolfssl\wolfssl;..\3rdparty\flatbuffers\include;..\3rdparty\libusb\libusb\libusb;..\3rdparty\yaml-cpp\yaml-cpp\include;..\3rdparty\SoundTouch\soundtouch\include;..\3rdparty\rtmidi\rtmidi;..\3rdparty\zlib\zlib;..\3rdparty\llvm\llvm\include;..\3rdparty\llvm\llvm\llvm\include;..\3rdparty\llvm\llvm_build\include;$(VULKAN_SDK)\Include;..\3rdparty\zstd\zstd\lib
+ ..\3rdparty\miniupnp\miniupnp\miniupnpc\include;..\3rdparty\wolfssl\wolfssl;..\3rdparty\flatbuffers\include;..\3rdparty\libusb\libusb\libusb;..\3rdparty\yaml-cpp\yaml-cpp\include;..\3rdparty\SoundTouch\soundtouch\include;..\3rdparty\rtmidi\rtmidi;..\3rdparty\zlib\zlib;$(SolutionDir)build\lib\$(Configuration)-$(Platform)\llvm_build\include;$(SolutionDir)build\lib_ext\$(Configuration)-$(Platform)\llvm_build\include;$(SolutionDir)build\lib_ext\$(Configuration)-$(Platform)\llvm\include;$(VULKAN_SDK)\Include;..\3rdparty\zstd\zstd\lib
MaxSpeed
AL_LIBTYPE_STATIC;MINIUPNP_STATICLIB;HAVE_VULKAN;HAVE_SDL2;ZLIB_CONST;%(PreprocessorDefinitions)
AL_LIBTYPE_STATIC;MINIUPNP_STATICLIB;HAVE_VULKAN;HAVE_SDL2;ZLIB_CONST;%(PreprocessorDefinitions)
diff --git a/rpcs3/rpcs3.vcxproj b/rpcs3/rpcs3.vcxproj
index 427133c03538..317303540da6 100644
--- a/rpcs3/rpcs3.vcxproj
+++ b/rpcs3/rpcs3.vcxproj
@@ -52,21 +52,21 @@
$(SolutionDir)bin\
- $(Platform)\$(Configuration)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
rpcs3
true
true
$(SolutionDir)bin\
- $(Platform)\$(Configuration)\
+ $(SolutionDir)build\tmp\$(ProjectName)-$(Configuration)-$(Platform)\
rpcs3d
true
$(SolutionDir)3rdparty\7zip\7zip\C;$(SolutionDir)3rdparty\hidapi\hidapi\hidapi;.\;$(SolutionDir);$(SolutionDir)3rdparty\asmjit\asmjit\src;$(SolutionDir)3rdparty\yaml-cpp\yaml-cpp\include;$(SolutionDir)3rdparty\ffmpeg\include;$(VC_IncludePath);$(WindowsSDK_IncludePath);$(UniversalCRT_IncludePath);$(SolutionDir)3rdparty\libpng\libpng;$(SolutionDir)3rdparty\GL;$(SolutionDir)3rdparty\stblib\stb;$(SolutionDir)3rdparty\openal\openal-soft\include\AL;$(SolutionDir)3rdparty\pugixml\src;$(SolutionDir)3rdparty\Optional;$(SolutionDir)3rdparty\discord-rpc\include;$(SolutionDir)3rdparty\zlib\zlib;$(SolutionDir)3rdparty\libsdl-org\SDL\include
- $(SolutionDir)lib\$(Configuration)-$(Platform)\;$(UniversalCRT_LibraryPath_x64);$(LibraryPath)
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\;$(UniversalCRT_LibraryPath_x64);$(LibraryPath)
- $(SolutionDir)lib\$(Configuration)-$(Platform)\;$(UniversalCRT_LibraryPath_x64);$(LibraryPath)
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\;$(UniversalCRT_LibraryPath_x64);$(LibraryPath)
$(SolutionDir)3rdparty\7zip\7zip\C;$(SolutionDir)3rdparty\hidapi\hidapi\hidapi;.\;$(SolutionDir);$(SolutionDir)3rdparty\asmjit\asmjit\src;$(SolutionDir)3rdparty\yaml-cpp\yaml-cpp\include;$(SolutionDir)3rdparty\ffmpeg\include;$(VC_IncludePath);$(WindowsSDK_IncludePath);$(UniversalCRT_IncludePath);$(SolutionDir)3rdparty\libpng\libpng;$(SolutionDir)3rdparty\GL;$(SolutionDir)3rdparty\stblib\stb;$(SolutionDir)3rdparty\openal\openal-soft\include\AL;$(SolutionDir)3rdparty\pugixml\src;$(SolutionDir)3rdparty\Optional;$(SolutionDir)3rdparty\discord-rpc\include;$(SolutionDir)3rdparty\zlib\zlib;$(SolutionDir)3rdparty\libsdl-org\SDL\include
@@ -90,7 +90,7 @@
DbgHelp.lib;Ole32.lib;gdi32.lib;hidapi.lib;libusb-1.0.lib;winmm.lib;miniupnpc_static.lib;rtmidi.lib;imm32.lib;ksuser.lib;version.lib;OpenAL32.lib;XAudio.lib;GLGSRender.lib;shlwapi.lib;VKGSRender.lib;vulkan-1.lib;wolfssl.lib;libcurl.lib;Wldap32.lib;glslang.lib;OSDependent.lib;OGLCompiler.lib;SPIRV.lib;MachineIndependent.lib;GenericCodeGen.lib;Advapi32.lib;user32.lib;zlib.lib;zstd.lib;libpng16.lib;asmjit.lib;yaml-cpp.lib;discord-rpc.lib;emucore.lib;dxgi.lib;shell32.lib;Qt6Core.lib;Qt6Gui.lib;Qt6Widgets.lib;Qt6Concurrent.lib;Qt6Multimedia.lib;Qt6MultimediaWidgets.lib;Qt6Svg.lib;Qt6SvgWidgets.lib;7zip.lib;libcubeb.lib;cubeb.lib;soundtouch.lib;Avrt.lib;SDL.lib;%(AdditionalDependencies)
- $(SolutionDir)3rdparty\openal\openal-soft\build;$(SolutionDir)3rdparty\glslang\build\hlsl\$(CONFIGURATION);$(SolutionDir)3rdparty\glslang\build\SPIRV\$(CONFIGURATION);$(SolutionDir)3rdparty\glslang\build\OGLCompilersDLL\$(CONFIGURATION);$(SolutionDir)3rdparty\glslang\build\glslang\OSDependent\Windows\$(CONFIGURATION);$(SolutionDir)3rdparty\glslang\build\glslang\$(CONFIGURATION);$(SolutionDir)3rdparty\discord-rpc\lib;$(SolutionDir)lib\$(CONFIGURATION)-$(PLATFORM);$(QTDIR)\lib;$(VULKAN_SDK)\Lib;%(AdditionalLibraryDirectories)
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\glslang;$(SolutionDir)build\lib_ext\$(CONFIGURATION)-$(PLATFORM);$(SolutionDir)3rdparty\discord-rpc\lib;$(QTDIR)\lib;$(VULKAN_SDK)\Lib;%(AdditionalLibraryDirectories)
"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)
true
Debug
@@ -141,7 +141,7 @@
DbgHelp.lib;Ole32.lib;gdi32.lib;hidapi.lib;libusb-1.0.lib;winmm.lib;miniupnpc_static.lib;rtmidi.lib;imm32.lib;ksuser.lib;version.lib;OpenAL32.lib;XAudio.lib;GLGSRender.lib;shlwapi.lib;VKGSRender.lib;vulkan-1.lib;wolfssl.lib;libcurl.lib;Wldap32.lib;glslangd.lib;OSDependentd.lib;OGLCompilerd.lib;SPIRVd.lib;MachineIndependentd.lib;GenericCodeGend.lib;Advapi32.lib;user32.lib;zlib.lib;zstd.lib;libpng16.lib;asmjit.lib;yaml-cpp.lib;discord-rpc.lib;emucore.lib;dxgi.lib;shell32.lib;Qt6Cored.lib;Qt6Guid.lib;Qt6Widgetsd.lib;Qt6Concurrentd.lib;Qt6Multimediad.lib;Qt6MultimediaWidgetsd.lib;Qt6Svgd.lib;Qt6SvgWidgetsd.lib;7zip.lib;libcubeb.lib;cubeb.lib;soundtouch.lib;Avrt.lib;SDL.lib;%(AdditionalDependencies)
- $(SolutionDir)3rdparty\openal\openal-soft\build;$(SolutionDir)3rdparty\glslang\build\hlsl\$(CONFIGURATION);$(SolutionDir)3rdparty\glslang\build\SPIRV\$(CONFIGURATION);$(SolutionDir)3rdparty\glslang\build\OGLCompilersDLL\$(CONFIGURATION);$(SolutionDir)3rdparty\glslang\build\glslang\OSDependent\Windows\$(CONFIGURATION);$(SolutionDir)3rdparty\glslang\build\glslang\$(CONFIGURATION);$(SolutionDir)3rdparty\discord-rpc\lib;$(SolutionDir)lib\$(CONFIGURATION)-$(PLATFORM);$(QTDIR)\lib;$(VULKAN_SDK)\Lib;%(AdditionalLibraryDirectories)
+ $(SolutionDir)build\lib\$(Configuration)-$(Platform)\glslang;$(SolutionDir)3rdparty\discord-rpc\lib;$(SolutionDir)build\lib\$(CONFIGURATION)-$(PLATFORM);$(QTDIR)\lib;$(VULKAN_SDK)\Lib;%(AdditionalLibraryDirectories)
"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /VERBOSE %(AdditionalOptions)
true
Debug