summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorOatmealDome <OatmealDome@users.noreply.github.com>2026-07-24 22:28:25 -0400
committerGitHub <noreply@github.com>2026-07-24 22:28:25 -0400
commit707d3c7a732634ad8d522bd27e52b075f54ac4f3 (patch)
treec40fa1fe84e6cc216da5ec17614a74c1b7a8caa2 /Source
parentd6e803e63d7a809fcafb4e39c79bdf4aabb49c79 (diff)
parentc1261e74060e9938678f2c0472c8e87196c2b496 (diff)
Merge pull request #14475 from JoshuaVandaele/cmake-replaces-vs
CMake: Replace the Visual Studio project
Diffstat (limited to 'Source')
-rw-r--r--Source/Android/app/build.gradle.kts2
-rw-r--r--Source/Core/Common/FileUtil.cpp28
-rw-r--r--Source/Core/Common/SCMRevGen.vcxproj36
-rw-r--r--Source/Core/Common/make_scmrev.h.js135
-rw-r--r--Source/Core/DolphinLib.ARM64.props35
-rw-r--r--Source/Core/DolphinLib.props1491
-rw-r--r--Source/Core/DolphinLib.vcxproj101
-rw-r--r--Source/Core/DolphinLib.vcxproj.user6
-rw-r--r--Source/Core/DolphinLib.x64.props67
-rw-r--r--Source/Core/DolphinNoGUI/CMakeLists.txt5
-rw-r--r--Source/Core/DolphinNoGUI/DolphinNoGUI.vcxproj67
-rw-r--r--Source/Core/DolphinNoGUI/DolphinNoGUI.vcxproj.filters21
-rw-r--r--Source/Core/DolphinQt/CMakeLists.txt88
-rw-r--r--Source/Core/DolphinQt/DolphinQt.vcxproj534
-rw-r--r--Source/Core/DolphinQt/DolphinQt.vcxproj.user8
-rw-r--r--Source/Core/DolphinQt/Translation.cpp19
-rw-r--r--Source/Core/DolphinTool/CMakeLists.txt4
-rw-r--r--Source/Core/DolphinTool/DolphinTool.vcxproj73
-rw-r--r--Source/Core/WinUpdater/WinUpdater.vcxproj58
-rw-r--r--Source/Core/WinUpdater/WinUpdater.vcxproj.filters10
-rw-r--r--Source/DSPSpy/DSPSpy.vcxproj180
-rw-r--r--Source/DSPSpy/DSPSpy.vcxproj.filters96
-rw-r--r--Source/DSPTool/CMakeLists.txt2
-rw-r--r--Source/DSPTool/DSPTool.vcxproj48
-rw-r--r--Source/DSPTool/DSPTool.vcxproj.filters29
-rw-r--r--Source/PCH/pch.vcxproj29
-rw-r--r--Source/UnitTests/UnitTests.vcxproj129
-rw-r--r--Source/UnitTests/UnitTests.vcxproj.user9
-rw-r--r--Source/VSProps/Base.Dolphin.props97
-rw-r--r--Source/VSProps/Base.Macros.props20
-rw-r--r--Source/VSProps/Base.Targets.props24
-rw-r--r--Source/VSProps/Base.props101
-rw-r--r--Source/VSProps/ClDisableAllWarnings.props11
-rw-r--r--Source/VSProps/Configuration.Application.props7
-rw-r--r--Source/VSProps/Configuration.Base.props20
-rw-r--r--Source/VSProps/Configuration.StaticLibrary.props7
-rw-r--r--Source/VSProps/Configuration.Utility.props7
-rw-r--r--Source/VSProps/PCHCommon.props20
-rw-r--r--Source/VSProps/PCHCreate.props36
-rw-r--r--Source/VSProps/PCHUse.props22
-rw-r--r--Source/VSProps/QtCompile.props152
-rw-r--r--Source/VSProps/qt_globals.targets558
-rw-r--r--Source/VSProps/qt_tasks.targets1110
-rw-r--r--Source/VSProps/qtmoc.targets510
-rw-r--r--Source/VSProps/qtmoc.xml5
-rw-r--r--Source/VSProps/qtmoc_cl.targets49
-rw-r--r--Source/VSProps/qtrcc.targets580
-rw-r--r--Source/VSProps/qtrcc.xml5
-rw-r--r--Source/dolphin-emu.sln495
49 files changed, 76 insertions, 7070 deletions
diff --git a/Source/Android/app/build.gradle.kts b/Source/Android/app/build.gradle.kts
index 64abfd0037..2fc4cb7a94 100644
--- a/Source/Android/app/build.gradle.kts
+++ b/Source/Android/app/build.gradle.kts
@@ -91,7 +91,7 @@ android {
externalNativeBuild {
cmake {
path = file("../../../CMakeLists.txt")
- version = "3.22.1+"
+ version = "3.25.0+"
}
}
namespace = "org.dolphinemu.dolphinemu"
diff --git a/Source/Core/Common/FileUtil.cpp b/Source/Core/Common/FileUtil.cpp
index 10032a03c5..053614f31f 100644
--- a/Source/Core/Common/FileUtil.cpp
+++ b/Source/Core/Common/FileUtil.cpp
@@ -759,27 +759,27 @@ std::string GetExeDirectory()
static std::string CreateSysDirectoryPath()
{
-#if defined(_WIN32) || defined(LINUX_LOCAL_DEV)
-#define SYSDATA_DIR "Sys"
-#elif defined __APPLE__
-#define SYSDATA_DIR "Contents/Resources/Sys"
+#define SYS_FOLDER_NAME "Sys"
+#if defined __APPLE__
+#define SYSDATA_DIR "Contents/Resources/" SYS_FOLDER_NAME
#else
-#ifdef DATA_DIR
-#define SYSDATA_DIR DATA_DIR "sys"
-#else
-#define SYSDATA_DIR "sys"
-#endif
+#define SYSDATA_DIR DATA_DIR SYS_FOLDER_NAME
#endif
+ std::string sys_directory;
+
#if defined(__APPLE__)
- const std::string sys_directory = GetBundleDirectory() + DIR_SEP SYSDATA_DIR DIR_SEP;
-#elif defined(_WIN32) || defined(LINUX_LOCAL_DEV)
- const std::string sys_directory = GetExeDirectory() + DIR_SEP SYSDATA_DIR DIR_SEP;
+ sys_directory = GetBundleDirectory() + DIR_SEP SYSDATA_DIR DIR_SEP;
#elif defined ANDROID
- const std::string sys_directory = s_android_sys_directory + DIR_SEP;
+ sys_directory = s_android_sys_directory + DIR_SEP;
ASSERT_MSG(COMMON, !s_android_sys_directory.empty(), "Sys directory has not been set");
#else
- const std::string sys_directory = SYSDATA_DIR DIR_SEP;
+ const std::string local_sys_directory = GetExeDirectory() + DIR_SEP SYS_FOLDER_NAME DIR_SEP;
+ if (IsDirectory(local_sys_directory))
+ sys_directory = local_sys_directory;
+ else
+ sys_directory = SYSDATA_DIR DIR_SEP;
+
#endif
INFO_LOG_FMT(COMMON, "CreateSysDirectoryPath: Setting to {}", sys_directory);
diff --git a/Source/Core/Common/SCMRevGen.vcxproj b/Source/Core/Common/SCMRevGen.vcxproj
deleted file mode 100644
index eea1446caa..0000000000
--- a/Source/Core/Common/SCMRevGen.vcxproj
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <Import Project="..\..\VSProps\Base.Macros.props" />
- <Import Project="$(VSPropsDir)Base.Targets.props" />
- <PropertyGroup Label="Globals">
- <ProjectGuid>{41279555-F94F-4EBC-99DE-AF863C10C5C4}</ProjectGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <Import Project="$(VSPropsDir)Configuration.Utility.props" />
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="$(VSPropsDir)Base.props" />
- </ImportGroup>
- <Target Name="GenerateScmRevHeader" BeforeTargets="BuildGenerateSources" Outputs="scmrev.h">
- <Exec Command="$(CScript) /nologo /E:JScript make_scmrev.h.js" />
- </Target>
- <!--
- DisableFastUpToDateCheck bypasses Visual Studio's build manager and forces MSBuild to be run
- on the project. This is only needed for VS-initiated builds, not msbuild itself.
- -->
- <PropertyGroup>
- <DisableFastUpToDateCheck>true</DisableFastUpToDateCheck>
- </PropertyGroup>
- <ItemGroup>
- <None Include="make_scmrev.h.js" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="scmrev.h" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project> \ No newline at end of file
diff --git a/Source/Core/Common/make_scmrev.h.js b/Source/Core/Common/make_scmrev.h.js
deleted file mode 100644
index b2ff644ecc..0000000000
--- a/Source/Core/Common/make_scmrev.h.js
+++ /dev/null
@@ -1,135 +0,0 @@
-var wshShell = new ActiveXObject("WScript.Shell")
-var oFS = new ActiveXObject("Scripting.FileSystemObject");
-
-var outfile = "./scmrev.h";
-var cmd_revision = " rev-parse HEAD";
-var cmd_describe = " describe --always --long --dirty";
-var cmd_branch = " rev-parse --abbrev-ref HEAD";
-var cmd_commits_ahead = " rev-list --count HEAD ^master";
-var cmd_get_tag = " describe --exact-match HEAD";
-
-function GetGitExe()
-{
- try
- {
- gitexe = wshShell.RegRead("HKCU\\Software\\GitExtensions\\gitcommand");
- wshShell.Exec(gitexe);
- return gitexe;
- }
- catch (e)
- {}
-
- for (var gitexe in {"git.cmd":1, "git":1, "git.bat":1})
- {
- try
- {
- wshShell.Exec(gitexe);
- return gitexe;
- }
- catch (e)
- {}
- }
-
- // last try - msysgit not in path (vs2015 default)
- msyspath = "\\Git\\cmd\\git.exe";
- gitexe = wshShell.ExpandEnvironmentStrings("%PROGRAMFILES(x86)%") + msyspath;
- if (oFS.FileExists(gitexe)) {
- return gitexe;
- }
- gitexe = wshShell.ExpandEnvironmentStrings("%PROGRAMFILES%") + msyspath;
- if (oFS.FileExists(gitexe)) {
- return gitexe;
- }
-
- WScript.Echo("Cannot find git or git.cmd, check your PATH:\n" +
- wshShell.ExpandEnvironmentStrings("%PATH%"));
- WScript.Quit(1);
-}
-
-function GetFirstStdOutLine(cmd)
-{
- try
- {
- return wshShell.Exec(cmd).StdOut.ReadLine();
- }
- catch (e)
- {
- // catch "the system cannot find the file specified" error
- WScript.Echo("Failed to exec " + cmd + " this should never happen");
- WScript.Quit(1);
- }
-}
-
-function AttemptToExecuteCommand(cmd)
-{
- try
- {
- var exec = wshShell.Exec(cmd)
-
- // wait until the command has finished
- while (exec.Status == 0) {}
-
- return exec.ExitCode;
- }
- catch (e)
- {
- // catch "the system cannot find the file specified" error
- WScript.Echo("Failed to exec " + cmd + " this should never happen");
- WScript.Quit(1);
- }
-}
-
-function GetFileContents(f)
-{
- try
- {
- return oFS.OpenTextFile(f).ReadAll();
- }
- catch (e)
- {
- // file doesn't exist
- return "";
- }
-}
-
-// get info from git
-var gitexe = GetGitExe();
-var revision = GetFirstStdOutLine(gitexe + cmd_revision);
-var describe = GetFirstStdOutLine(gitexe + cmd_describe);
-var branch = GetFirstStdOutLine(gitexe + cmd_branch);
-var commits_ahead = GetFirstStdOutLine(gitexe + cmd_commits_ahead);
-
-// Get environment information.
-var distributor = wshShell.ExpandEnvironmentStrings("%DOLPHIN_DISTRIBUTOR%");
-if (distributor == "%DOLPHIN_DISTRIBUTOR%") distributor = "None";
-var default_update_track = wshShell.ExpandEnvironmentStrings("%DOLPHIN_DEFAULT_UPDATE_TRACK%");
-if (default_update_track == "%DOLPHIN_DEFAULT_UPDATE_TRACK%") default_update_track = "";
-
-// remove hash (and trailing "-0" if needed) from description
-describe = describe.replace(/(-0)?-[^-]+(-dirty)?$/, '$2');
-
-// set commits ahead to zero if on a tag
-if (AttemptToExecuteCommand(gitexe + cmd_get_tag) == 0)
-{
- commits_ahead = "0";
-}
-
-var out_contents =
- "#define SCM_REV_STR \"" + revision + "\"\n" +
- "#define SCM_DESC_STR \"" + describe + "\"\n" +
- "#define SCM_BRANCH_STR \"" + branch + "\"\n" +
- "#define SCM_COMMITS_AHEAD_MASTER " + commits_ahead + "\n" +
- "#define SCM_DISTRIBUTOR_STR \"" + distributor + "\"\n" +
- "#define SCM_UPDATE_TRACK_STR \"" + default_update_track + "\"\n";
-
-// check if file needs updating
-if (out_contents == GetFileContents(outfile))
-{
- WScript.Echo(outfile + " current at " + describe);
-}
-else
-{
- // needs updating - writeout current info
- oFS.CreateTextFile(outfile, true).Write(out_contents);
- WScript.Echo(outfile + " updated to " + describe);
-}
diff --git a/Source/Core/DolphinLib.ARM64.props b/Source/Core/DolphinLib.ARM64.props
deleted file mode 100644
index 4ff1c4d912..0000000000
--- a/Source/Core/DolphinLib.ARM64.props
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <ItemGroup>
- <ClInclude Include="Common\Arm64Emitter.h" />
- <ClInclude Include="Common\ArmCommon.h" />
- <ClInclude Include="Core\PowerPC\JitArm64\Jit_Util.h" />
- <ClInclude Include="Core\PowerPC\JitArm64\Jit.h" />
- <ClInclude Include="Core\PowerPC\JitArm64\JitArm64_RegCache.h" />
- <ClInclude Include="Core\PowerPC\JitArm64\JitArm64Cache.h" />
- <ClInclude Include="Core\PowerPC\JitArmCommon\BackPatch.h" />
- <ClInclude Include="VideoCommon\VertexLoaderARM64.h" />
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="Common\Arm64Emitter.cpp" />
- <ClCompile Include="Common\ArmCPUDetect.cpp" />
- <ClCompile Include="Common\ArmFPURoundMode.cpp" />
- <ClCompile Include="Core\PowerPC\JitArm64\Jit_Util.cpp" />
- <ClCompile Include="Core\PowerPC\JitArm64\Jit.cpp" />
- <ClCompile Include="Core\PowerPC\JitArm64\JitArm64_BackPatch.cpp" />
- <ClCompile Include="Core\PowerPC\JitArm64\JitArm64_Branch.cpp" />
- <ClCompile Include="Core\PowerPC\JitArm64\JitArm64_FloatingPoint.cpp" />
- <ClCompile Include="Core\PowerPC\JitArm64\JitArm64_Integer.cpp" />
- <ClCompile Include="Core\PowerPC\JitArm64\JitArm64_LoadStore.cpp" />
- <ClCompile Include="Core\PowerPC\JitArm64\JitArm64_LoadStoreFloating.cpp" />
- <ClCompile Include="Core\PowerPC\JitArm64\JitArm64_LoadStorePaired.cpp" />
- <ClCompile Include="Core\PowerPC\JitArm64\JitArm64_Paired.cpp" />
- <ClCompile Include="Core\PowerPC\JitArm64\JitArm64_RegCache.cpp" />
- <ClCompile Include="Core\PowerPC\JitArm64\JitArm64_SystemRegisters.cpp" />
- <ClCompile Include="Core\PowerPC\JitArm64\JitArm64_Tables.cpp" />
- <ClCompile Include="Core\PowerPC\JitArm64\JitArm64Cache.cpp" />
- <ClCompile Include="Core\PowerPC\JitArm64\JitAsm.cpp" />
- <ClCompile Include="VideoCommon\TextureDecoder_Generic.cpp" />
- <ClCompile Include="VideoCommon\VertexLoaderARM64.cpp" />
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/Source/Core/DolphinLib.props b/Source/Core/DolphinLib.props
deleted file mode 100644
index d343d4b151..0000000000
--- a/Source/Core/DolphinLib.props
+++ /dev/null
@@ -1,1491 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <ItemGroup Condition="'$(EnableCubeb)'!='false'">
- <ClInclude Include="AudioCommon\CubebStream.h" />
- <ClInclude Include="AudioCommon\CubebUtils.h" />
- <ClInclude Include="Core\HW\EXI\EXI_DeviceMic.h" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="AudioCommon\AudioCommon.h" />
- <ClInclude Include="AudioCommon\Enums.h" />
- <ClInclude Include="AudioCommon\Mixer.h" />
- <ClInclude Include="AudioCommon\NullSoundStream.h" />
- <ClInclude Include="AudioCommon\OpenALStream.h" />
- <ClInclude Include="AudioCommon\SoundStream.h" />
- <ClInclude Include="AudioCommon\SurroundDecoder.h" />
- <ClInclude Include="AudioCommon\WASAPIStream.h" />
- <ClInclude Include="AudioCommon\WaveFile.h" />
- <ClInclude Include="Common\Align.h" />
- <ClInclude Include="Common\Analytics.h" />
- <ClInclude Include="Common\Assert.h" />
- <ClInclude Include="Common\Assembler\AssemblerShared.h" />
- <ClInclude Include="Common\Assembler\AssemblerTables.h" />
- <ClInclude Include="Common\Assembler\CaseInsensitiveDict.h" />
- <ClInclude Include="Common\Assembler\GekkoAssembler.h" />
- <ClInclude Include="Common\Assembler\GekkoIRGen.h" />
- <ClInclude Include="Common\Assembler\GekkoLexer.h" />
- <ClInclude Include="Common\Assembler\GekkoParser.h" />
- <ClInclude Include="Common\BitField.h" />
- <ClInclude Include="Common\BitSet.h" />
- <ClInclude Include="Common\BitUtils.h" />
- <ClInclude Include="Common\BlockingLoop.h" />
- <ClInclude Include="Common\Buffer.h" />
- <ClInclude Include="Common\ChunkFile.h" />
- <ClInclude Include="Common\CodeBlock.h" />
- <ClInclude Include="Common\ColorUtil.h" />
- <ClInclude Include="Common\Common.h" />
- <ClInclude Include="Common\CommonFuncs.h" />
- <ClInclude Include="Common\CommonPaths.h" />
- <ClInclude Include="Common\CommonTypes.h" />
- <ClInclude Include="Common\Config\Config.h" />
- <ClInclude Include="Common\Config\ConfigInfo.h" />
- <ClInclude Include="Common\Config\Enums.h" />
- <ClInclude Include="Common\Config\Layer.h" />
- <ClInclude Include="Common\Contains.h" />
- <ClInclude Include="Common\CPUDetect.h" />
- <ClInclude Include="Common\Crypto\AES.h" />
- <ClInclude Include="Common\Crypto\bn.h" />
- <ClInclude Include="Common\Crypto\ec.h" />
- <ClInclude Include="Common\Crypto\HMAC.h" />
- <ClInclude Include="Common\Crypto\SHA1.h" />
- <ClInclude Include="Common\CWDemangler.h" />
- <ClInclude Include="Common\Debug\MemoryPatches.h" />
- <ClInclude Include="Common\Debug\Threads.h" />
- <ClInclude Include="Common\Debug\Watches.h" />
- <ClInclude Include="Common\DirectIOFile.h" />
- <ClInclude Include="Common\DynamicLibrary.h" />
- <ClInclude Include="Common\ENet.h" />
- <ClInclude Include="Common\EnumFormatter.h" />
- <ClInclude Include="Common\EnumMap.h" />
- <ClInclude Include="Common\Event.h" />
- <ClInclude Include="Common\FatFsUtil.h" />
- <ClInclude Include="Common\FileSearch.h" />
- <ClInclude Include="Common\FilesystemWatcher.h" />
- <ClInclude Include="Common\FileUtil.h" />
- <ClInclude Include="Common\FixedSizeQueue.h" />
- <ClInclude Include="Common\Flag.h" />
- <ClInclude Include="Common\FloatUtils.h" />
- <ClInclude Include="Common\FormatUtil.h" />
- <ClInclude Include="Common\FPURoundMode.h" />
- <ClInclude Include="Common\Functional.h" />
- <ClInclude Include="Common\GekkoDisassembler.h" />
- <ClInclude Include="Common\GL\GLContext.h" />
- <ClInclude Include="Common\GL\GLExtensions\AMD_pinned_memory.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_blend_func_extended.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_buffer_storage.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_clip_control.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_compute_shader.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_copy_image.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_debug_output.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_draw_elements_base_vertex.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_ES2_compatibility.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_ES3_compatibility.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_framebuffer_object.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_get_program_binary.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_map_buffer_range.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_occlusion_query2.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_sample_shading.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_sampler_objects.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_shader_image_load_store.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_shader_storage_buffer_object.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_sync.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_texture_compression_bptc.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_texture_multisample.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_texture_storage_multisample.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_texture_storage.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_uniform_buffer_object.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_vertex_array_object.h" />
- <ClInclude Include="Common\GL\GLExtensions\ARB_viewport_array.h" />
- <ClInclude Include="Common\GL\GLExtensions\EXT_texture_compression_s3tc.h" />
- <ClInclude Include="Common\GL\GLExtensions\EXT_texture_filter_anisotropic.h" />
- <ClInclude Include="Common\GL\GLExtensions\gl_1_1.h" />
- <ClInclude Include="Common\GL\GLExtensions\gl_1_2.h" />
- <ClInclude Include="Common\GL\GLExtensions\gl_1_3.h" />
- <ClInclude Include="Common\GL\GLExtensions\gl_1_4.h" />
- <ClInclude Include="Common\GL\GLExtensions\gl_1_5.h" />
- <ClInclude Include="Common\GL\GLExtensions\gl_2_0.h" />
- <ClInclude Include="Common\GL\GLExtensions\gl_2_1.h" />
- <ClInclude Include="Common\GL\GLExtensions\gl_3_0.h" />
- <ClInclude Include="Common\GL\GLExtensions\gl_3_1.h" />
- <ClInclude Include="Common\GL\GLExtensions\gl_3_2.h" />
- <ClInclude Include="Common\GL\GLExtensions\gl_4_2.h" />
- <ClInclude Include="Common\GL\GLExtensions\gl_4_3.h" />
- <ClInclude Include="Common\GL\GLExtensions\gl_4_4.h" />
- <ClInclude Include="Common\GL\GLExtensions\gl_4_5.h" />
- <ClInclude Include="Common\GL\GLExtensions\gl_common.h" />
- <ClInclude Include="Common\GL\GLExtensions\GLExtensions.h" />
- <ClInclude Include="Common\GL\GLExtensions\HP_occlusion_test.h" />
- <ClInclude Include="Common\GL\GLExtensions\KHR_debug.h" />
- <ClInclude Include="Common\GL\GLExtensions\NV_depth_buffer_float.h" />
- <ClInclude Include="Common\GL\GLExtensions\NV_occlusion_query_samples.h" />
- <ClInclude Include="Common\GL\GLExtensions\NV_primitive_restart.h" />
- <ClInclude Include="Common\GL\GLInterface\WGL.h" />
- <ClInclude Include="Common\GL\GLUtil.h" />
- <ClInclude Include="Common\GL\GLX11Window.h" />
- <ClInclude Include="Common\Hash.h" />
- <ClInclude Include="Common\HookableEvent.h" />
- <ClInclude Include="Common\HostDisassembler.h" />
- <ClInclude Include="Common\HRWrap.h" />
- <ClInclude Include="Common\HttpRequest.h" />
- <ClInclude Include="Common\Image.h" />
- <ClInclude Include="Common\IniFile.h" />
- <ClInclude Include="Common\Inline.h" />
- <ClInclude Include="Common\Intrinsics.h" />
- <ClInclude Include="Common\IOFile.h" />
- <ClInclude Include="Common\JitRegister.h" />
- <ClInclude Include="Common\JsonUtil.h" />
- <ClInclude Include="Common\Lazy.h" />
- <ClInclude Include="Common\LdrWatcher.h" />
- <ClInclude Include="Common\LinearDiskCache.h" />
- <ClInclude Include="Common\Logging\ConsoleListener.h" />
- <ClInclude Include="Common\Logging\Log.h" />
- <ClInclude Include="Common\Logging\LogManager.h" />
- <ClInclude Include="Common\MathUtil.h" />
- <ClInclude Include="Common\Matrix.h" />
- <ClInclude Include="Common\MemArena.h" />
- <ClInclude Include="Common\MemoryUtil.h" />
- <ClInclude Include="Common\MinizipUtil.h" />
- <ClInclude Include="Common\MsgHandler.h" />
- <ClInclude Include="Common\Mutex.h" />
- <ClInclude Include="Common\NandPaths.h" />
- <ClInclude Include="Common\Network.h" />
- <ClInclude Include="Common\OneShotEvent.h" />
- <ClInclude Include="Common\PcapFile.h" />
- <ClInclude Include="Common\Profiler.h" />
- <ClInclude Include="Common\Projection.h" />
- <ClInclude Include="Common\QoSSession.h" />
- <ClInclude Include="Common\Random.h" />
- <ClInclude Include="Common\RangeSet.h" />
- <ClInclude Include="Common\RangeSizeSet.h" />
- <ClInclude Include="Common\scmrev.h" />
- <ClInclude Include="Common\ScopeGuard.h" />
- <ClInclude Include="Common\SDCardUtil.h" />
- <ClInclude Include="Common\SettingsHandler.h" />
- <ClInclude Include="Common\SFMLHelper.h" />
- <ClInclude Include="Common\SmallVector.h" />
- <ClInclude Include="Common\SocketContext.h" />
- <ClInclude Include="Common\SpanUtils.h" />
- <ClInclude Include="Common\SPSCQueue.h" />
- <ClInclude Include="Common\StringUtil.h" />
- <ClInclude Include="Common\Swap.h" />
- <ClInclude Include="Common\SymbolDB.h" />
- <ClInclude Include="Common\Thread.h" />
- <ClInclude Include="Common\Timer.h" />
- <ClInclude Include="Common\TimeUtil.h" />
- <ClInclude Include="Common\TransferableSharedMutex.h" />
- <ClInclude Include="Common\TraversalClient.h" />
- <ClInclude Include="Common\TraversalProto.h" />
- <ClInclude Include="Common\TypeUtils.h" />
- <ClInclude Include="Common\UPnP.h" />
- <ClInclude Include="Common\VariantUtil.h" />
- <ClInclude Include="Common\Version.h" />
- <ClInclude Include="Common\WaitableFlag.h" />
- <ClInclude Include="Common\WindowsDevice.h" />
- <ClInclude Include="Common\WindowsRegistry.h" />
- <ClInclude Include="Common\WindowSystemInfo.h" />
- <ClInclude Include="Common\WorkQueueThread.h" />
- <ClInclude Include="Core\AchievementApprovedHash.h" />
- <ClInclude Include="Core\AchievementManager.h" />
- <ClInclude Include="Core\ActionReplay.h" />
- <ClInclude Include="Core\ARDecrypt.h" />
- <ClInclude Include="Core\Boot\Boot.h" />
- <ClInclude Include="Core\Boot\DolReader.h" />
- <ClInclude Include="Core\Boot\ElfReader.h" />
- <ClInclude Include="Core\Boot\ElfTypes.h" />
- <ClInclude Include="Core\BootManager.h" />
- <ClInclude Include="Core\CheatCodes.h" />
- <ClInclude Include="Core\CheatGeneration.h" />
- <ClInclude Include="Core\CheatSearch.h" />
- <ClInclude Include="Core\CommonTitles.h" />
- <ClInclude Include="Core\Config\AchievementSettings.h" />
- <ClInclude Include="Core\Config\DefaultLocale.h" />
- <ClInclude Include="Core\Config\FreeLookSettings.h" />
- <ClInclude Include="Core\Config\GraphicsSettings.h" />
- <ClInclude Include="Core\Config\MainSettings.h" />
- <ClInclude Include="Core\Config\NetplaySettings.h" />
- <ClInclude Include="Core\Config\SessionSettings.h" />
- <ClInclude Include="Core\Config\SYSCONFSettings.h" />
- <ClInclude Include="Core\Config\UISettings.h" />
- <ClInclude Include="Core\Config\WiimoteSettings.h" />
- <ClInclude Include="Core\ConfigLoaders\BaseConfigLoader.h" />
- <ClInclude Include="Core\ConfigLoaders\GameConfigLoader.h" />
- <ClInclude Include="Core\ConfigLoaders\IsSettingSaveable.h" />
- <ClInclude Include="Core\ConfigLoaders\MovieConfigLoader.h" />
- <ClInclude Include="Core\ConfigLoaders\NetPlayConfigLoader.h" />
- <ClInclude Include="Core\ConfigManager.h" />
- <ClInclude Include="Core\Core.h" />
- <ClInclude Include="Core\CoreTiming.h" />
- <ClInclude Include="Core\CPUThreadConfigCallback.h" />
- <ClInclude Include="Core\Debugger\BranchWatch.h" />
- <ClInclude Include="Core\Debugger\CodeTrace.h" />
- <ClInclude Include="Core\Debugger\DebugInterface.h" />
- <ClInclude Include="Core\Debugger\Debugger_SymbolMap.h" />
- <ClInclude Include="Core\Debugger\Dump.h" />
- <ClInclude Include="Core\Debugger\OSThread.h" />
- <ClInclude Include="Core\Debugger\PPCDebugInterface.h" />
- <ClInclude Include="Core\Debugger\RSO.h" />
- <ClInclude Include="Core\DolphinAnalytics.h" />
- <ClInclude Include="Core\DSP\DSPAccelerator.h" />
- <ClInclude Include="Core\DSP\DSPAnalyzer.h" />
- <ClInclude Include="Core\DSP\DSPAssembler.h" />
- <ClInclude Include="Core\DSP\DSPBreakpoints.h" />
- <ClInclude Include="Core\DSP\DSPCaptureLogger.h" />
- <ClInclude Include="Core\DSP\DSPCodeUtil.h" />
- <ClInclude Include="Core\DSP\DSPCommon.h" />
- <ClInclude Include="Core\DSP\DSPCore.h" />
- <ClInclude Include="Core\DSP\DSPDisassembler.h" />
- <ClInclude Include="Core\DSP\DSPHost.h" />
- <ClInclude Include="Core\DSP\DSPHWInterface.h" />
- <ClInclude Include="Core\DSP\DSPMemoryMap.h" />
- <ClInclude Include="Core\DSP\DSPStacks.h" />
- <ClInclude Include="Core\DSP\DSPTables.h" />
- <ClInclude Include="Core\DSP\Interpreter\DSPIntCCUtil.h" />
- <ClInclude Include="Core\DSP\Interpreter\DSPInterpreter.h" />
- <ClInclude Include="Core\DSP\Interpreter\DSPIntExtOps.h" />
- <ClInclude Include="Core\DSP\Interpreter\DSPIntTables.h" />
- <ClInclude Include="Core\DSP\Interpreter\DSPIntUtil.h" />
- <ClInclude Include="Core\DSP\Jit\DSPEmitterBase.h" />
- <ClInclude Include="Core\DSP\LabelMap.h" />
- <ClInclude Include="Core\DSPEmulator.h" />
- <ClInclude Include="Core\FifoPlayer\FifoDataFile.h" />
- <ClInclude Include="Core\FifoPlayer\FifoPlayer.h" />
- <ClInclude Include="Core\FifoPlayer\FifoRecorder.h" />
- <ClInclude Include="Core\FreeLookManager.h" />
- <ClInclude Include="Core\GeckoCode.h" />
- <ClInclude Include="Core\GeckoCodeConfig.h" />
- <ClInclude Include="Core\HLE\HLE_Misc.h" />
- <ClInclude Include="Core\HLE\HLE_OS.h" />
- <ClInclude Include="Core\HLE\HLE_VarArgs.h" />
- <ClInclude Include="Core\HLE\HLE.h" />
- <ClInclude Include="Core\Host.h" />
- <ClInclude Include="Core\HotkeyManager.h" />
- <ClInclude Include="Core\HW\AddressSpace.h" />
- <ClInclude Include="Core\HW\AudioInterface.h" />
- <ClInclude Include="Core\HW\CPU.h" />
- <ClInclude Include="Core\HW\DSP.h" />
- <ClInclude Include="Core\HW\DSPHLE\DSPHLE.h" />
- <ClInclude Include="Core\HW\DSPHLE\MailHandler.h" />
- <ClInclude Include="Core\HW\DSPHLE\UCodes\ASnd.h" />
- <ClInclude Include="Core\HW\DSPHLE\UCodes\AESnd.h" />
- <ClInclude Include="Core\HW\DSPHLE\UCodes\AX.h" />
- <ClInclude Include="Core\HW\DSPHLE\UCodes\AXStructs.h" />
- <ClInclude Include="Core\HW\DSPHLE\UCodes\AXVoice.h" />
- <ClInclude Include="Core\HW\DSPHLE\UCodes\AXWii.h" />
- <ClInclude Include="Core\HW\DSPHLE\UCodes\CARD.h" />
- <ClInclude Include="Core\HW\DSPHLE\UCodes\GBA.h" />
- <ClInclude Include="Core\HW\DSPHLE\UCodes\INIT.h" />
- <ClInclude Include="Core\HW\DSPHLE\UCodes\ROM.h" />
- <ClInclude Include="Core\HW\DSPHLE\UCodes\UCodes.h" />
- <ClInclude Include="Core\HW\DSPHLE\UCodes\Zelda.h" />
- <ClInclude Include="Core\HW\DSPLLE\DSPDebugInterface.h" />
- <ClInclude Include="Core\HW\DSPLLE\DSPLLE.h" />
- <ClInclude Include="Core\HW\DSPLLE\DSPSymbols.h" />
- <ClInclude Include="Core\HW\DVD\AMMediaboard.h" />
- <ClInclude Include="Core\HW\DVD\DVDInterface.h" />
- <ClInclude Include="Core\HW\DVD\DVDMath.h" />
- <ClInclude Include="Core\HW\DVD\DVDThread.h" />
- <ClInclude Include="Core\HW\DVD\FileMonitor.h" />
- <ClInclude Include="Core\HW\EXI\BBA\BuiltIn.h" />
- <ClInclude Include="Core\HW\EXI\BBA\TAP_Win32.h" />
- <ClInclude Include="Core\HW\EXI\EXI_Channel.h" />
- <ClInclude Include="Core\HW\EXI\EXI_Device.h" />
- <ClInclude Include="Core\HW\EXI\EXI_DeviceAD16.h" />
- <ClInclude Include="Core\HW\EXI\EXI_DeviceAGP.h" />
- <ClInclude Include="Core\HW\EXI\EXI_DeviceBaseboard.h" />
- <ClInclude Include="Core\HW\EXI\EXI_DeviceDummy.h" />
- <ClInclude Include="Core\HW\EXI\EXI_DeviceEthernet.h" />
- <ClInclude Include="Core\HW\EXI\EXI_DeviceGecko.h" />
- <ClInclude Include="Core\HW\EXI\EXI_DeviceIPL.h" />
- <ClInclude Include="Core\HW\EXI\EXI_DeviceMemoryCard.h" />
- <ClInclude Include="Core\HW\EXI\EXI_DeviceModem.h" />
- <ClInclude Include="Core\HW\EXI\EXI.h" />
- <ClInclude Include="Core\HW\GBACore.h" />
- <ClInclude Include="Core\HW\GBAPad.h" />
- <ClInclude Include="Core\HW\GBAPadEmu.h" />
- <ClInclude Include="Core\HW\GCKeyboard.h" />
- <ClInclude Include="Core\HW\GCKeyboardEmu.h" />
- <ClInclude Include="Core\HW\GCMemcard\GCIFile.h" />
- <ClInclude Include="Core\HW\GCMemcard\GCMemcard.h" />
- <ClInclude Include="Core\HW\GCMemcard\GCMemcardBase.h" />
- <ClInclude Include="Core\HW\GCMemcard\GCMemcardDirectory.h" />
- <ClInclude Include="Core\HW\GCMemcard\GCMemcardRaw.h" />
- <ClInclude Include="Core\HW\GCMemcard\GCMemcardUtils.h" />
- <ClInclude Include="Core\HW\GCPad.h" />
- <ClInclude Include="Core\HW\GCPadEmu.h" />
- <ClInclude Include="Core\HW\GPFifo.h" />
- <ClInclude Include="Core\HW\HSP\HSP.h" />
- <ClInclude Include="Core\HW\HSP\HSP_Device.h" />
- <ClInclude Include="Core\HW\HSP\HSP_DeviceARAMExpansion.h" />
- <ClInclude Include="Core\HW\HSP\HSP_DeviceGBPlayer.h" />
- <ClInclude Include="Core\HW\HSP\HSP_DeviceNull.h" />
- <ClInclude Include="Core\HW\HW.h" />
- <ClInclude Include="Core\HW\MagCard\C1231BR.h" />
- <ClInclude Include="Core\HW\MagCard\C1231LR.h" />
- <ClInclude Include="Core\HW\MagCard\MagneticCardReader.h" />
- <ClInclude Include="Core\HW\Memmap.h" />
- <ClInclude Include="Core\HW\MemoryInterface.h" />
- <ClInclude Include="Core\HW\MMIO.h" />
- <ClInclude Include="Core\HW\MMIOHandlers.h" />
- <ClInclude Include="Core\HW\ProcessorInterface.h" />
- <ClInclude Include="Core\HW\SI\SI_Device.h" />
- <ClInclude Include="Core\HW\SI\SI_DeviceAMBaseboard.h" />
- <ClInclude Include="Core\HW\SI\SI_DeviceDanceMat.h" />
- <ClInclude Include="Core\HW\SI\SI_DeviceGBA.h" />
- <ClInclude Include="Core\HW\SI\SI_DeviceGBAEmu.h" />
- <ClInclude Include="Core\HW\SI\SI_DeviceGCAdapter.h" />
- <ClInclude Include="Core\HW\SI\SI_DeviceGCController.h" />
- <ClInclude Include="Core\HW\SI\SI_DeviceGCSteeringWheel.h" />
- <ClInclude Include="Core\HW\SI\SI_DeviceKeyboard.h" />
- <ClInclude Include="Core\HW\SI\SI_DeviceNull.h" />
- <ClInclude Include="Core\HW\SI\SI.h" />
- <ClInclude Include="Core\HW\Sram.h" />
- <ClInclude Include="Core\HW\StreamADPCM.h" />
- <ClInclude Include="Core\HW\SystemTimers.h" />
- <ClInclude Include="Core\HW\Triforce\DeckReader.h" />
- <ClInclude Include="Core\HW\Triforce\FZeroAX.h" />
- <ClInclude Include="Core\HW\Triforce\ICCardReader.h" />
- <ClInclude Include="Core\HW\Triforce\IOPorts.h" />
- <ClInclude Include="Core\HW\Triforce\JVSIO.h" />
- <ClInclude Include="Core\HW\Triforce\MarioKartGP.h" />
- <ClInclude Include="Core\HW\Triforce\SerialDevice.h" />
- <ClInclude Include="Core\HW\Triforce\Touchscreen.h" />
- <ClInclude Include="Core\HW\VideoInterface.h" />
- <ClInclude Include="Core\HW\WII_IPC.h" />
- <ClInclude Include="Core\HW\Wiimote.h" />
- <ClInclude Include="Core\HW\WiimoteCommon\DataReport.h" />
- <ClInclude Include="Core\HW\WiimoteCommon\WiimoteConstants.h" />
- <ClInclude Include="Core\HW\WiimoteCommon\WiimoteHid.h" />
- <ClInclude Include="Core\HW\WiimoteCommon\WiimoteReport.h" />
- <ClInclude Include="Core\HW\WiimoteEmu\Camera.h" />
- <ClInclude Include="Core\HW\WiimoteEmu\Dynamics.h" />
- <ClInclude Include="Core\HW\WiimoteEmu\DesiredWiimoteState.h" />
- <ClInclude Include="Core\HW\WiimoteEmu\Encryption.h" />
- <ClInclude Include="Core\HW\WiimoteEmu\Extension\Classic.h" />
- <ClInclude Include="Core\HW\WiimoteEmu\Extension\DesiredExtensionState.h" />
- <ClInclude Include="Core\HW\WiimoteEmu\Extension\DrawsomeTablet.h" />
- <ClInclude Include="Core\HW\WiimoteEmu\Extension\Drums.h" />
- <ClInclude Include="Core\HW\WiimoteEmu\Extension\Extension.h" />
- <ClInclude Include="Core\HW\WiimoteEmu\Extension\Guitar.h" />
- <ClInclude Include="Core\HW\WiimoteEmu\Extension\Nunchuk.h" />
- <ClInclude Include="Core\HW\WiimoteEmu\Extension\Shinkansen.h" />
- <ClInclude Include="Core\HW\WiimoteEmu\Extension\TaTaCon.h" />
- <ClInclude Include="Core\HW\WiimoteEmu\Extension\Turntable.h" />
- <ClInclude Include="Core\HW\WiimoteEmu\Extension\UDrawTablet.h" />
- <ClInclude Include="Core\HW\WiimoteEmu\ExtensionPort.h" />
- <ClInclude Include="Core\HW\WiimoteEmu\I2CBus.h" />
- <ClInclude Include="Core\HW\WiimoteEmu\MotionPlus.h" />
- <ClInclude Include="Core\HW\WiimoteEmu\Speaker.h" />
- <ClInclude Include="Core\HW\WiimoteEmu\WiimoteEmu.h" />
- <ClInclude Include="Core\HW\WiimoteReal\IOWin.h" />
- <ClInclude Include="Core\HW\WiimoteReal\WiimoteReal.h" />
- <ClInclude Include="Core\HW\WiiSave.h" />
- <ClInclude Include="Core\HW\WiiSaveStructs.h" />
- <ClInclude Include="Core\IOS\Crypto\Sha.h" />
- <ClInclude Include="Core\IOS\Crypto\AesDevice.h" />
- <ClInclude Include="Core\IOS\Device.h" />
- <ClInclude Include="Core\IOS\DeviceStub.h" />
- <ClInclude Include="Core\IOS\DI\DI.h" />
- <ClInclude Include="Core\IOS\DolphinDevice.h" />
- <ClInclude Include="Core\IOS\ES\ES.h" />
- <ClInclude Include="Core\IOS\ES\Formats.h" />
- <ClInclude Include="Core\IOS\FS\FileSystem.h" />
- <ClInclude Include="Core\IOS\FS\FileSystemProxy.h" />
- <ClInclude Include="Core\IOS\FS\HostBackend\FS.h" />
- <ClInclude Include="Core\IOS\IOS.h" />
- <ClInclude Include="Core\IOS\IOSC.h" />
- <ClInclude Include="Core\IOS\MIOS.h" />
- <ClInclude Include="Core\IOS\Network\ICMP.h" />
- <ClInclude Include="Core\IOS\Network\IP\Top.h" />
- <ClInclude Include="Core\IOS\Network\KD\NetKDRequest.h" />
- <ClInclude Include="Core\IOS\Network\KD\NetKDTime.h" />
- <ClInclude Include="Core\IOS\Network\KD\NWC24Config.h" />
- <ClInclude Include="Core\IOS\Network\KD\NWC24DL.h" />
- <ClInclude Include="Core\IOS\Network\KD\VFF\VFFUtil.h" />
- <ClInclude Include="Core\IOS\Network\KD\WC24File.h" />
- <ClInclude Include="Core\IOS\Network\KD\Mail\MailCommon.h" />
- <ClInclude Include="Core\IOS\Network\KD\Mail\WC24FriendList.h" />
- <ClInclude Include="Core\IOS\Network\KD\Mail\WC24Send.h" />
- <ClInclude Include="Core\IOS\Network\MACUtils.h" />
- <ClInclude Include="Core\IOS\Network\NCD\Manage.h" />
- <ClInclude Include="Core\IOS\Network\NCD\WiiNetConfig.h" />
- <ClInclude Include="Core\IOS\Network\Socket.h" />
- <ClInclude Include="Core\IOS\Network\SSL.h" />
- <ClInclude Include="Core\IOS\Network\WD\Command.h" />
- <ClInclude Include="Core\IOS\SDIO\SDIOSlot0.h" />
- <ClInclude Include="Core\IOS\STM\STM.h" />
- <ClInclude Include="Core\IOS\Uids.h" />
- <ClInclude Include="Core\IOS\USB\Bluetooth\BTBase.h" />
- <ClInclude Include="Core\IOS\USB\Bluetooth\BTEmu.h" />
- <ClInclude Include="Core\IOS\USB\Bluetooth\BTReal.h" />
- <ClInclude Include="Core\IOS\USB\Bluetooth\BTStub.h" />
- <ClInclude Include="Core\IOS\USB\Bluetooth\LibUSBBluetoothAdapter.h" />
- <ClInclude Include="Core\IOS\USB\Bluetooth\RealtekFirmwareLoader.h" />
- <ClInclude Include="Core\IOS\USB\Bluetooth\hci.h" />
- <ClInclude Include="Core\IOS\USB\Bluetooth\l2cap.h" />
- <ClInclude Include="Core\IOS\USB\Bluetooth\WiimoteDevice.h" />
- <ClInclude Include="Core\IOS\USB\Bluetooth\WiimoteHIDAttr.h" />
- <ClInclude Include="Core\IOS\USB\Common.h" />
- <ClInclude Include="Core\IOS\USB\Emulated\Infinity.h" />
- <ClInclude Include="Core\IOS\USB\Emulated\LogitechMic.h" />
- <ClInclude Include="Core\IOS\USB\Emulated\Microphone.h" />
- <ClInclude Include="Core\IOS\USB\Emulated\Skylanders\Skylander.h" />
- <ClInclude Include="Core\IOS\USB\Emulated\Skylanders\SkylanderCrypto.h" />
- <ClInclude Include="Core\IOS\USB\Emulated\Skylanders\SkylanderFigure.h" />
- <ClInclude Include="Core\IOS\USB\Emulated\WiiSpeak.h" />
- <ClInclude Include="Core\IOS\USB\Host.h" />
- <ClInclude Include="Core\IOS\USB\LibusbDevice.h" />
- <ClInclude Include="Core\IOS\USB\OH0\OH0.h" />
- <ClInclude Include="Core\IOS\USB\OH0\OH0Device.h" />
- <ClInclude Include="Core\IOS\USB\USB_HID\HIDv4.h" />
- <ClInclude Include="Core\IOS\USB\USB_HID\HIDv5.h" />
- <ClInclude Include="Core\IOS\USB\USB_KBD.h" />
- <ClInclude Include="Core\IOS\USB\USB_VEN\VEN.h" />
- <ClInclude Include="Core\IOS\USB\USBScanner.h" />
- <ClInclude Include="Core\IOS\USB\USBV0.h" />
- <ClInclude Include="Core\IOS\USB\USBV4.h" />
- <ClInclude Include="Core\IOS\USB\USBV5.h" />
- <ClInclude Include="Core\IOS\VersionInfo.h" />
- <ClInclude Include="Core\IOS\WFS\WFSI.h" />
- <ClInclude Include="Core\IOS\WFS\WFSSRV.h" />
- <ClInclude Include="Core\LibusbUtils.h" />
- <ClInclude Include="Core\MachineContext.h" />
- <ClInclude Include="Core\MemTools.h" />
- <ClInclude Include="Core\Movie.h" />
- <ClInclude Include="Core\NetPlayClient.h" />
- <ClInclude Include="Core\NetPlayCommon.h" />
- <ClInclude Include="Core\NetPlayProto.h" />
- <ClInclude Include="Core\NetPlayServer.h" />
- <ClInclude Include="Core\NetworkCaptureLogger.h" />
- <ClInclude Include="Core\PatchEngine.h" />
- <ClInclude Include="Core\PowerPC\BreakPoints.h" />
- <ClInclude Include="Core\PowerPC\CachedInterpreter\CachedInterpreter.h" />
- <ClInclude Include="Core\PowerPC\CachedInterpreter\CachedInterpreterBlockCache.h" />
- <ClInclude Include="Core\PowerPC\CachedInterpreter\CachedInterpreterEmitter.h" />
- <ClInclude Include="Core\PowerPC\ConditionRegister.h" />
- <ClInclude Include="Core\PowerPC\CPUCoreBase.h" />
- <ClInclude Include="Core\PowerPC\Expression.h" />
- <ClInclude Include="Core\PowerPC\GDBStub.h" />
- <ClInclude Include="Core\PowerPC\Gekko.h" />
- <ClInclude Include="Core\PowerPC\Interpreter\ExceptionUtils.h" />
- <ClInclude Include="Core\PowerPC\Interpreter\Interpreter_FPUtils.h" />
- <ClInclude Include="Core\PowerPC\Interpreter\Interpreter.h" />
- <ClInclude Include="Core\PowerPC\JitCommon\ConstantPropagation.h" />
- <ClInclude Include="Core\PowerPC\JitCommon\DivUtils.h" />
- <ClInclude Include="Core\PowerPC\JitCommon\JitAsmCommon.h" />
- <ClInclude Include="Core\PowerPC\JitCommon\JitBase.h" />
- <ClInclude Include="Core\PowerPC\JitCommon\JitCache.h" />
- <ClInclude Include="Core\PowerPC\JitInterface.h" />
- <ClInclude Include="Core\PowerPC\MMU.h" />
- <ClInclude Include="Core\PowerPC\PowerPC.h" />
- <ClInclude Include="Core\PowerPC\PPCAnalyst.h" />
- <ClInclude Include="Core\PowerPC\PPCCache.h" />
- <ClInclude Include="Core\PowerPC\PPCSymbolDB.h" />
- <ClInclude Include="Core\PowerPC\PPCTables.h" />
- <ClInclude Include="Core\PowerPC\SignatureDB\CSVSignatureDB.h" />
- <ClInclude Include="Core\PowerPC\SignatureDB\DSYSignatureDB.h" />
- <ClInclude Include="Core\PowerPC\SignatureDB\MEGASignatureDB.h" />
- <ClInclude Include="Core\PowerPC\SignatureDB\SignatureDB.h" />
- <ClInclude Include="Core\State.h" />
- <ClInclude Include="Core\SyncIdentifier.h" />
- <ClInclude Include="Core\SysConf.h" />
- <ClInclude Include="Core\System.h" />
- <ClInclude Include="Core\TimePlayed.h" />
- <ClInclude Include="Core\TitleDatabase.h" />
- <ClInclude Include="Core\USBUtils.h" />
- <ClInclude Include="Core\WC24PatchEngine.h" />
- <ClInclude Include="Core\WiiRoot.h" />
- <ClInclude Include="Core\WiiUtils.h" />
- <ClInclude Include="DiscIO\Blob.h" />
- <ClInclude Include="DiscIO\CISOBlob.h" />
- <ClInclude Include="DiscIO\CachedBlob.h" />
- <ClInclude Include="DiscIO\CompressedBlob.h" />
- <ClInclude Include="DiscIO\DirectoryBlob.h" />
- <ClInclude Include="DiscIO\DiscExtractor.h" />
- <ClInclude Include="DiscIO\DiscScrubber.h" />
- <ClInclude Include="DiscIO\DiscUtils.h" />
- <ClInclude Include="DiscIO\Enums.h" />
- <ClInclude Include="DiscIO\FileBlob.h" />
- <ClInclude Include="DiscIO\Filesystem.h" />
- <ClInclude Include="DiscIO\FileSystemGCWii.h" />
- <ClInclude Include="DiscIO\GameModDescriptor.h" />
- <ClInclude Include="DiscIO\LaggedFibonacciGenerator.h" />
- <ClInclude Include="DiscIO\MultithreadedCompressor.h" />
- <ClInclude Include="DiscIO\NANDImporter.h" />
- <ClInclude Include="DiscIO\NFSBlob.h" />
- <ClInclude Include="DiscIO\RiivolutionParser.h" />
- <ClInclude Include="DiscIO\RiivolutionPatcher.h" />
- <ClInclude Include="DiscIO\ScrubbedBlob.h" />
- <ClInclude Include="DiscIO\SplitFileBlob.h" />
- <ClInclude Include="DiscIO\TGCBlob.h" />
- <ClInclude Include="DiscIO\Volume.h" />
- <ClInclude Include="DiscIO\VolumeDisc.h" />
- <ClInclude Include="DiscIO\VolumeFileBlobReader.h" />
- <ClInclude Include="DiscIO\VolumeGC.h" />
- <ClInclude Include="DiscIO\VolumeVerifier.h" />
- <ClInclude Include="DiscIO\VolumeWad.h" />
- <ClInclude Include="DiscIO\VolumeWii.h" />
- <ClInclude Include="DiscIO\WbfsBlob.h" />
- <ClInclude Include="DiscIO\WIABlob.h" />
- <ClInclude Include="DiscIO\WIACompression.h" />
- <ClInclude Include="DiscIO\WiiEncryptionCache.h" />
- <ClInclude Include="DiscIO\WiiSaveBanner.h" />
- <ClInclude Include="InputCommon\ControllerEmu\Control\Control.h" />
- <ClInclude Include="InputCommon\ControllerEmu\Control\Input.h" />
- <ClInclude Include="InputCommon\ControllerEmu\Control\Output.h" />
- <ClInclude Include="InputCommon\ControllerEmu\ControlGroup\AnalogStick.h" />
- <ClInclude Include="InputCommon\ControllerEmu\ControlGroup\Attachments.h" />
- <ClInclude Include="InputCommon\ControllerEmu\ControlGroup\Buttons.h" />
- <ClInclude Include="InputCommon\ControllerEmu\ControlGroup\ControlGroup.h" />
- <ClInclude Include="InputCommon\ControllerEmu\ControlGroup\Cursor.h" />
- <ClInclude Include="InputCommon\ControllerEmu\ControlGroup\Force.h" />
- <ClInclude Include="InputCommon\ControllerEmu\ControlGroup\IMUAccelerometer.h" />
- <ClInclude Include="InputCommon\ControllerEmu\ControlGroup\IMUCursor.h" />
- <ClInclude Include="InputCommon\ControllerEmu\ControlGroup\IMUGyroscope.h" />
- <ClInclude Include="InputCommon\ControllerEmu\ControlGroup\IRPassthrough.h" />
- <ClInclude Include="InputCommon\ControllerEmu\ControlGroup\MixedTriggers.h" />
- <ClInclude Include="InputCommon\ControllerEmu\ControlGroup\ModifySettingsButton.h" />
- <ClInclude Include="InputCommon\ControllerEmu\ControlGroup\Slider.h" />
- <ClInclude Include="InputCommon\ControllerEmu\ControlGroup\Tilt.h" />
- <ClInclude Include="InputCommon\ControllerEmu\ControlGroup\Triggers.h" />
- <ClInclude Include="InputCommon\ControllerEmu\ControllerEmu.h" />
- <ClInclude Include="InputCommon\ControllerEmu\Setting\NumericSetting.h" />
- <ClInclude Include="InputCommon\ControllerEmu\StickGate.h" />
- <ClInclude Include="InputCommon\ControllerInterface\ControllerInterface.h" />
- <ClInclude Include="InputCommon\ControllerInterface\CoreDevice.h" />
- <ClInclude Include="InputCommon\ControllerInterface\InputBackend.h" />
- <ClInclude Include="InputCommon\ControllerInterface\DInput\DInput.h" />
- <ClInclude Include="InputCommon\ControllerInterface\DInput\DInput8.h" />
- <ClInclude Include="InputCommon\ControllerInterface\DInput\DInputJoystick.h" />
- <ClInclude Include="InputCommon\ControllerInterface\DInput\DInputKeyboardMouse.h" />
- <ClInclude Include="InputCommon\ControllerInterface\DInput\NamedKeys.h" />
- <ClInclude Include="InputCommon\ControllerInterface\DInput\XInputFilter.h" />
- <ClInclude Include="InputCommon\ControllerInterface\DualShockUDPClient\DualShockUDPClient.h" />
- <ClInclude Include="InputCommon\ControllerInterface\DualShockUDPClient\DualShockUDPProto.h" />
- <ClInclude Include="InputCommon\ControllerInterface\evdev\evdev.h" />
- <ClInclude Include="InputCommon\ControllerInterface\ForceFeedback\ForceFeedbackDevice.h" />
- <ClInclude Include="InputCommon\ControllerInterface\MappingCommon.h" />
- <ClInclude Include="InputCommon\ControllerInterface\WGInput\WGInput.h" />
- <ClInclude Include="InputCommon\ControllerInterface\Wiimote\WiimoteController.h" />
- <ClInclude Include="InputCommon\ControllerInterface\Win32\Win32.h" />
- <ClInclude Include="InputCommon\ControllerInterface\XInput\XInput.h" />
- <ClInclude Include="InputCommon\ControllerInterface\SDL\SDL.h" />
- <ClInclude Include="InputCommon\ControllerInterface\SDL\SDLGamepad.h" />
- <ClInclude Include="InputCommon\ControlReference\ControlReference.h" />
- <ClInclude Include="InputCommon\ControlReference\ExpressionParser.h" />
- <ClInclude Include="InputCommon\ControlReference\FunctionExpression.h" />
- <ClInclude Include="InputCommon\DynamicInputTextures\DITConfiguration.h" />
- <ClInclude Include="InputCommon\DynamicInputTextures\DITData.h" />
- <ClInclude Include="InputCommon\DynamicInputTextures\DITSpecification.h" />
- <ClInclude Include="InputCommon\DynamicInputTextureManager.h" />
- <ClInclude Include="InputCommon\GCAdapter.h" />
- <ClInclude Include="InputCommon\GCPadStatus.h" />
- <ClInclude Include="InputCommon\ImageOperations.h" />
- <ClInclude Include="InputCommon\InputConfig.h" />
- <ClInclude Include="InputCommon\InputProfile.h" />
- <ClInclude Include="InputCommon\KeyboardStatus.h" />
- <ClInclude Include="UICommon\AutoUpdate.h" />
- <ClInclude Include="UICommon\CommandLineParse.h" />
- <ClInclude Include="UICommon\DiscordPresence.h" />
- <ClInclude Include="UICommon\GameFile.h" />
- <ClInclude Include="UICommon\GameFileCache.h" />
- <ClInclude Include="UICommon\NetPlayIndex.h" />
- <ClInclude Include="UICommon\ResourcePack\Manager.h" />
- <ClInclude Include="UICommon\ResourcePack\Manifest.h" />
- <ClInclude Include="UICommon\ResourcePack\ResourcePack.h" />
- <ClInclude Include="UICommon\UICommon.h" />
- <ClInclude Include="UpdaterCommon\UI.h" />
- <ClInclude Include="UpdaterCommon\UpdaterCommon.h" />
- <ClInclude Include="VideoBackends\D3D\D3DBase.h" />
- <ClInclude Include="VideoBackends\D3D\D3DBoundingBox.h" />
- <ClInclude Include="VideoBackends\D3D\D3DPerfQuery.h" />
- <ClInclude Include="VideoBackends\D3D\D3DGfx.h" />
- <ClInclude Include="VideoBackends\D3D\D3DState.h" />
- <ClInclude Include="VideoBackends\D3D\D3DSwapChain.h" />
- <ClInclude Include="VideoBackends\D3D\D3DVertexManager.h" />
- <ClInclude Include="VideoBackends\D3D\DXPipeline.h" />
- <ClInclude Include="VideoBackends\D3D\DXShader.h" />
- <ClInclude Include="VideoBackends\D3D\DXTexture.h" />
- <ClInclude Include="VideoBackends\D3D\VideoBackend.h" />
- <ClInclude Include="VideoBackends\D3D12\Common.h" />
- <ClInclude Include="VideoBackends\D3D12\D3D12BoundingBox.h" />
- <ClInclude Include="VideoBackends\D3D12\D3D12PerfQuery.h" />
- <ClInclude Include="VideoBackends\D3D12\D3D12Gfx.h" />
- <ClInclude Include="VideoBackends\D3D12\D3D12StreamBuffer.h" />
- <ClInclude Include="VideoBackends\D3D12\D3D12SwapChain.h" />
- <ClInclude Include="VideoBackends\D3D12\D3D12VertexManager.h" />
- <ClInclude Include="VideoBackends\D3D12\DescriptorAllocator.h" />
- <ClInclude Include="VideoBackends\D3D12\DescriptorHeapManager.h" />
- <ClInclude Include="VideoBackends\D3D12\DX12Context.h" />
- <ClInclude Include="VideoBackends\D3D12\DX12Pipeline.h" />
- <ClInclude Include="VideoBackends\D3D12\DX12Shader.h" />
- <ClInclude Include="VideoBackends\D3D12\DX12Texture.h" />
- <ClInclude Include="VideoBackends\D3D12\DX12VertexFormat.h" />
- <ClInclude Include="VideoBackends\D3D12\VideoBackend.h" />
- <ClInclude Include="VideoBackends\D3DCommon\D3DCommon.h" />
- <ClInclude Include="VideoBackends\D3DCommon\Shader.h" />
- <ClInclude Include="VideoBackends\D3DCommon\SwapChain.h" />
- <ClInclude Include="VideoBackends\Null\NullBoundingBox.h" />
- <ClInclude Include="VideoBackends\Null\NullGfx.h" />
- <ClInclude Include="VideoBackends\Null\NullTexture.h" />
- <ClInclude Include="VideoBackends\Null\NullVertexManager.h" />
- <ClInclude Include="VideoBackends\Null\PerfQuery.h" />
- <ClInclude Include="VideoBackends\Null\TextureCache.h" />
- <ClInclude Include="VideoBackends\Null\VideoBackend.h" />
- <ClInclude Include="VideoBackends\OGL\OGLBoundingBox.h" />
- <ClInclude Include="VideoBackends\OGL\OGLConfig.h" />
- <ClInclude Include="VideoBackends\OGL\OGLGfx.h" />
- <ClInclude Include="VideoBackends\OGL\OGLPerfQuery.h" />
- <ClInclude Include="VideoBackends\OGL\OGLPipeline.h" />
- <ClInclude Include="VideoBackends\OGL\OGLShader.h" />
- <ClInclude Include="VideoBackends\OGL\OGLStreamBuffer.h" />
- <ClInclude Include="VideoBackends\OGL\OGLTexture.h" />
- <ClInclude Include="VideoBackends\OGL\OGLVertexManager.h" />
- <ClInclude Include="VideoBackends\OGL\ProgramShaderCache.h" />
- <ClInclude Include="VideoBackends\OGL\SamplerCache.h" />
- <ClInclude Include="VideoBackends\OGL\VideoBackend.h" />
- <ClInclude Include="VideoBackends\Software\Clipper.h" />
- <ClInclude Include="VideoBackends\Software\CopyRegion.h" />
- <ClInclude Include="VideoBackends\Software\EfbCopy.h" />
- <ClInclude Include="VideoBackends\Software\NativeVertexFormat.h" />
- <ClInclude Include="VideoBackends\Software\Rasterizer.h" />
- <ClInclude Include="VideoBackends\Software\SetupUnit.h" />
- <ClInclude Include="VideoBackends\Software\SWBoundingBox.h" />
- <ClInclude Include="VideoBackends\Software\SWEfbInterface.h" />
- <ClInclude Include="VideoBackends\Software\SWGfx.h" />
- <ClInclude Include="VideoBackends\Software\SWOGLWindow.h" />
- <ClInclude Include="VideoBackends\Software\SWTexture.h" />
- <ClInclude Include="VideoBackends\Software\SWVertexLoader.h" />
- <ClInclude Include="VideoBackends\Software\Tev.h" />
- <ClInclude Include="VideoBackends\Software\TextureCache.h" />
- <ClInclude Include="VideoBackends\Software\TextureEncoder.h" />
- <ClInclude Include="VideoBackends\Software\TextureSampler.h" />
- <ClInclude Include="VideoBackends\Software\TransformUnit.h" />
- <ClInclude Include="VideoBackends\Software\VideoBackend.h" />
- <ClInclude Include="VideoBackends\Vulkan\CommandBufferManager.h" />
- <ClInclude Include="VideoBackends\Vulkan\Constants.h" />
- <ClInclude Include="VideoBackends\Vulkan\ObjectCache.h" />
- <ClInclude Include="VideoBackends\Vulkan\ShaderCompiler.h" />
- <ClInclude Include="VideoBackends\Vulkan\StagingBuffer.h" />
- <ClInclude Include="VideoBackends\Vulkan\StateTracker.h" />
- <ClInclude Include="VideoBackends\Vulkan\VideoBackend.h" />
- <ClInclude Include="VideoBackends\Vulkan\VKBoundingBox.h" />
- <ClInclude Include="VideoBackends\Vulkan\VKPerfQuery.h" />
- <ClInclude Include="VideoBackends\Vulkan\VKPipeline.h" />
- <ClInclude Include="VideoBackends\Vulkan\VKGfx.h" />
- <ClInclude Include="VideoBackends\Vulkan\VKShader.h" />
- <ClInclude Include="VideoBackends\Vulkan\VKStreamBuffer.h" />
- <ClInclude Include="VideoBackends\Vulkan\VKSwapChain.h" />
- <ClInclude Include="VideoBackends\Vulkan\VKTexture.h" />
- <ClInclude Include="VideoBackends\Vulkan\VKVertexFormat.h" />
- <ClInclude Include="VideoBackends\Vulkan\VKVertexManager.h" />
- <ClInclude Include="VideoBackends\Vulkan\VulkanContext.h" />
- <ClInclude Include="VideoBackends\Vulkan\VulkanLoader.h" />
- <ClInclude Include="VideoCommon\AbstractFramebuffer.h" />
- <ClInclude Include="VideoCommon\AbstractGfx.h" />
- <ClInclude Include="VideoCommon\AbstractPipeline.h" />
- <ClInclude Include="VideoCommon\AbstractShader.h" />
- <ClInclude Include="VideoCommon\AbstractStagingTexture.h" />
- <ClInclude Include="VideoCommon\AbstractTexture.h" />
- <ClInclude Include="VideoCommon\Assets\AssetListener.h" />
- <ClInclude Include="VideoCommon\Assets\CustomAsset.h" />
- <ClInclude Include="VideoCommon\Assets\CustomAssetCache.h" />
- <ClInclude Include="VideoCommon\Assets\CustomAssetLibrary.h" />
- <ClInclude Include="VideoCommon\Assets\CustomAssetLoader.h" />
- <ClInclude Include="VideoCommon\Assets\CustomTextureData.h" />
- <ClInclude Include="VideoCommon\Assets\DirectFilesystemAssetLibrary.h" />
- <ClInclude Include="VideoCommon\Assets\MaterialAsset.h" />
- <ClInclude Include="VideoCommon\Assets\MeshAsset.h" />
- <ClInclude Include="VideoCommon\Assets\ShaderAsset.h" />
- <ClInclude Include="VideoCommon\Assets\TextureAsset.h" />
- <ClInclude Include="VideoCommon\Assets\TextureAssetUtils.h" />
- <ClInclude Include="VideoCommon\Assets\TextureSamplerValue.h" />
- <ClInclude Include="VideoCommon\Assets\Types.h" />
- <ClInclude Include="VideoCommon\Assets\WatchableFilesystemAssetLibrary.h" />
- <ClInclude Include="VideoCommon\AsyncRequests.h" />
- <ClInclude Include="VideoCommon\AsyncShaderCompiler.h" />
- <ClInclude Include="VideoCommon\BoundingBox.h" />
- <ClInclude Include="VideoCommon\BPFunctions.h" />
- <ClInclude Include="VideoCommon\BPMemory.h" />
- <ClInclude Include="VideoCommon\BPStructs.h" />
- <ClInclude Include="VideoCommon\CommandProcessor.h" />
- <ClInclude Include="VideoCommon\ConstantManager.h" />
- <ClInclude Include="VideoCommon\Constants.h" />
- <ClInclude Include="VideoCommon\CPMemory.h" />
- <ClInclude Include="VideoCommon\CPUCull.h" />
- <ClInclude Include="VideoCommon\CPUCullImpl.h" />
- <ClInclude Include="VideoCommon\DataReader.h" />
- <ClInclude Include="VideoCommon\DriverDetails.h" />
- <ClInclude Include="VideoCommon\EFBInterface.h" />
- <ClInclude Include="VideoCommon\Fifo.h" />
- <ClInclude Include="VideoCommon\FramebufferManager.h" />
- <ClInclude Include="VideoCommon\FramebufferShaderGen.h" />
- <ClInclude Include="VideoCommon\FrameDumpFFMpeg.h" />
- <ClInclude Include="VideoCommon\FrameDumper.h" />
- <ClInclude Include="VideoCommon\FreeLookCamera.h" />
- <ClInclude Include="VideoCommon\GeometryShaderGen.h" />
- <ClInclude Include="VideoCommon\GeometryShaderManager.h" />
- <ClInclude Include="VideoCommon\GraphicsModSystem\Config\GraphicsMod.h" />
- <ClInclude Include="VideoCommon\GraphicsModSystem\Config\GraphicsModAsset.h" />
- <ClInclude Include="VideoCommon\GraphicsModSystem\Config\GraphicsModFeature.h" />
- <ClInclude Include="VideoCommon\GraphicsModSystem\Config\GraphicsModGroup.h" />
- <ClInclude Include="VideoCommon\GraphicsModSystem\Config\GraphicsTarget.h" />
- <ClInclude Include="VideoCommon\GraphicsModSystem\Config\GraphicsTargetGroup.h" />
- <ClInclude Include="VideoCommon\GraphicsModSystem\Constants.h" />
- <ClInclude Include="VideoCommon\GraphicsModSystem\Runtime\Actions\CustomPipelineAction.h" />
- <ClInclude Include="VideoCommon\GraphicsModSystem\Runtime\Actions\MoveAction.h" />
- <ClInclude Include="VideoCommon\GraphicsModSystem\Runtime\Actions\PrintAction.h" />
- <ClInclude Include="VideoCommon\GraphicsModSystem\Runtime\Actions\ScaleAction.h" />
- <ClInclude Include="VideoCommon\GraphicsModSystem\Runtime\Actions\SkipAction.h" />
- <ClInclude Include="VideoCommon\GraphicsModSystem\Runtime\CustomPipeline.h" />
- <ClInclude Include="VideoCommon\GraphicsModSystem\Runtime\CustomShaderCache.h" />
- <ClInclude Include="VideoCommon\GraphicsModSystem\Runtime\FBInfo.h" />
- <ClInclude Include="VideoCommon\GraphicsModSystem\Runtime\GraphicsModAction.h" />
- <ClInclude Include="VideoCommon\GraphicsModSystem\Runtime\GraphicsModActionData.h" />
- <ClInclude Include="VideoCommon\GraphicsModSystem\Runtime\GraphicsModActionFactory.h" />
- <ClInclude Include="VideoCommon\GraphicsModSystem\Runtime\GraphicsModGroup.h" />
- <ClInclude Include="VideoCommon\GraphicsModSystem\Runtime\GraphicsModManager.h" />
- <ClInclude Include="VideoCommon\GXPipelineTypes.h" />
- <ClInclude Include="VideoCommon\HiresTextures.h" />
- <ClInclude Include="VideoCommon\ImageWrite.h" />
- <ClInclude Include="VideoCommon\IndexGenerator.h" />
- <ClInclude Include="VideoCommon\LightingShaderGen.h" />
- <ClInclude Include="VideoCommon\LookUpTables.h" />
- <ClInclude Include="VideoCommon\NativeVertexFormat.h" />
- <ClInclude Include="VideoCommon\NetPlayChatUI.h" />
- <ClInclude Include="VideoCommon\NetPlayGolfUI.h" />
- <ClInclude Include="VideoCommon\OnScreenDisplay.h" />
- <ClInclude Include="VideoCommon\OnScreenUI.h" />
- <ClInclude Include="VideoCommon\OnScreenUIKeyMap.h" />
- <ClInclude Include="VideoCommon\OpcodeDecoding.h" />
- <ClInclude Include="VideoCommon\PerfQueryBase.h" />
- <ClInclude Include="VideoCommon\PerformanceMetrics.h" />
- <ClInclude Include="VideoCommon\PerformanceTracker.h" />
- <ClInclude Include="VideoCommon\PipelineUtils.h" />
- <ClInclude Include="VideoCommon\PixelEngine.h" />
- <ClInclude Include="VideoCommon\PixelShaderGen.h" />
- <ClInclude Include="VideoCommon\PixelShaderManager.h" />
- <ClInclude Include="VideoCommon\PostProcessing.h" />
- <ClInclude Include="VideoCommon\Present.h" />
- <ClInclude Include="VideoCommon\RenderState.h" />
- <ClInclude Include="VideoCommon\Resources\CustomResourceManager.h" />
- <ClInclude Include="VideoCommon\Resources\InvalidTextures.h" />
- <ClInclude Include="VideoCommon\Resources\MaterialResource.h" />
- <ClInclude Include="VideoCommon\Resources\Resource.h" />
- <ClInclude Include="VideoCommon\Resources\ShaderResource.h" />
- <ClInclude Include="VideoCommon\Resources\TextureAndSampler.h" />
- <ClInclude Include="VideoCommon\Resources\TextureDataResource.h" />
- <ClInclude Include="VideoCommon\Resources\TexturePool.h" />
- <ClInclude Include="VideoCommon\ShaderCache.h" />
- <ClInclude Include="VideoCommon\ShaderCompileUtils.h" />
- <ClInclude Include="VideoCommon\ShaderGenCommon.h" />
- <ClInclude Include="VideoCommon\Spirv.h" />
- <ClInclude Include="VideoCommon\Statistics.h" />
- <ClInclude Include="VideoCommon\TextureCacheBase.h" />
- <ClInclude Include="VideoCommon\TextureConfig.h" />
- <ClInclude Include="VideoCommon\TextureConversionShader.h" />
- <ClInclude Include="VideoCommon\TextureConverterShaderGen.h" />
- <ClInclude Include="VideoCommon\TextureDecoder_Util.h" />
- <ClInclude Include="VideoCommon\TextureDecoder.h" />
- <ClInclude Include="VideoCommon\TextureInfo.h" />
- <ClInclude Include="VideoCommon\TextureUtils.h" />
- <ClInclude Include="VideoCommon\TMEM.h" />
- <ClInclude Include="VideoCommon\UberShaderCommon.h" />
- <ClInclude Include="VideoCommon\UberShaderPixel.h" />
- <ClInclude Include="VideoCommon\UberShaderVertex.h" />
- <ClInclude Include="VideoCommon\VertexLoader_Color.h" />
- <ClInclude Include="VideoCommon\VertexLoader_Normal.h" />
- <ClInclude Include="VideoCommon\VertexLoader_Position.h" />
- <ClInclude Include="VideoCommon\VertexLoader_TextCoord.h" />
- <ClInclude Include="VideoCommon\VertexLoader.h" />
- <ClInclude Include="VideoCommon\VertexLoaderBase.h" />
- <ClInclude Include="VideoCommon\VertexLoaderManager.h" />
- <ClInclude Include="VideoCommon\VertexLoaderUtils.h" />
- <ClInclude Include="VideoCommon\VertexManagerBase.h" />
- <ClInclude Include="VideoCommon\VertexShaderGen.h" />
- <ClInclude Include="VideoCommon\VertexShaderManager.h" />
- <ClInclude Include="VideoCommon\VideoBackendBase.h" />
- <ClInclude Include="VideoCommon\VideoCommon.h" />
- <ClInclude Include="VideoCommon\VideoConfig.h" />
- <ClInclude Include="VideoCommon\VideoEvents.h" />
- <ClInclude Include="VideoCommon\VideoState.h" />
- <ClInclude Include="VideoCommon\Widescreen.h" />
- <ClInclude Include="VideoCommon\XFMemory.h" />
- <ClInclude Include="VideoCommon\XFStateManager.h" />
- <ClInclude Include="VideoCommon\XFStructs.h" />
- </ItemGroup>
- <ItemGroup Condition="'$(EnableCubeb)'!='false'">
- <ClCompile Include="AudioCommon\CubebStream.cpp" />
- <ClCompile Include="AudioCommon\CubebUtils.cpp" />
- <ClCompile Include="Core\HW\EXI\EXI_DeviceMic.cpp" />
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="AudioCommon\AudioCommon.cpp" />
- <ClCompile Include="AudioCommon\Mixer.cpp" />
- <ClCompile Include="AudioCommon\NullSoundStream.cpp" />
- <ClCompile Include="AudioCommon\OpenALStream.cpp" />
- <ClCompile Include="AudioCommon\SurroundDecoder.cpp" />
- <ClCompile Include="AudioCommon\WASAPIStream.cpp" />
- <ClCompile Include="AudioCommon\WaveFile.cpp" />
- <ClCompile Include="Common\Analytics.cpp" />
- <ClCompile Include="Common\Assembler\AssemblerShared.cpp" />
- <ClCompile Include="Common\Assembler\AssemblerTables.cpp" />
- <ClCompile Include="Common\Assembler\GekkoAssembler.cpp" />
- <ClCompile Include="Common\Assembler\GekkoIRGen.cpp" />
- <ClCompile Include="Common\Assembler\GekkoLexer.cpp" />
- <ClCompile Include="Common\Assembler\GekkoParser.cpp" />
- <ClCompile Include="Common\ColorUtil.cpp" />
- <ClCompile Include="Common\CommonFuncs.cpp" />
- <ClCompile Include="Common\CompatPatches.cpp" />
- <ClCompile Include="Common\Config\Config.cpp" />
- <ClCompile Include="Common\Config\ConfigInfo.cpp" />
- <ClCompile Include="Common\Config\Layer.cpp" />
- <ClCompile Include="Common\Crypto\AES.cpp" />
- <ClCompile Include="Common\Crypto\bn.cpp" />
- <ClCompile Include="Common\Crypto\ec.cpp" />
- <ClCompile Include="Common\Crypto\HMAC.cpp" />
- <ClCompile Include="Common\Crypto\SHA1.cpp" />
- <ClCompile Include="Common\CWDemangler.cpp" />
- <ClCompile Include="Common\Debug\MemoryPatches.cpp" />
- <ClCompile Include="Common\Debug\Watches.cpp" />
- <ClCompile Include="Common\DirectIOFile.cpp" />
- <ClCompile Include="Common\DynamicLibrary.cpp" />
- <ClCompile Include="Common\ENet.cpp" />
- <ClCompile Include="Common\FatFsUtil.cpp" />
- <ClCompile Include="Common\FileSearch.cpp" />
- <ClCompile Include="Common\FilesystemWatcher.cpp" />
- <ClCompile Include="Common\FileUtil.cpp" />
- <ClCompile Include="Common\FloatUtils.cpp" />
- <ClCompile Include="Common\GekkoDisassembler.cpp" />
- <ClCompile Include="Common\GL\GLContext.cpp" />
- <ClCompile Include="Common\GL\GLExtensions\GLExtensions.cpp" />
- <ClCompile Include="Common\GL\GLInterface\WGL.cpp" />
- <ClCompile Include="Common\GL\GLUtil.cpp" />
- <ClCompile Include="Common\Hash.cpp" />
- <ClCompile Include="Common\HostDisassembler.cpp" />
- <ClCompile Include="Common\HRWrap.cpp" />
- <ClCompile Include="Common\HttpRequest.cpp" />
- <ClCompile Include="Common\Image.cpp" />
- <ClCompile Include="Common\IniFile.cpp" />
- <ClCompile Include="Common\IOFile.cpp" />
- <ClCompile Include="Common\JitRegister.cpp" />
- <ClCompile Include="Common\JsonUtil.cpp" />
- <ClCompile Include="Common\LdrWatcher.cpp" />
- <ClCompile Include="Common\Logging\ConsoleListenerWin.cpp" />
- <ClCompile Include="Common\Logging\LogManager.cpp" />
- <ClCompile Include="Common\Matrix.cpp" />
- <ClCompile Include="Common\MemArenaWin.cpp" />
- <ClCompile Include="Common\MemoryUtil.cpp" />
- <ClCompile Include="Common\MsgHandler.cpp" />
- <ClCompile Include="Common\NandPaths.cpp" />
- <ClCompile Include="Common\Network.cpp" />
- <ClCompile Include="Common\PcapFile.cpp" />
- <ClCompile Include="Common\Profiler.cpp" />
- <ClCompile Include="Common\QoSSession.cpp" />
- <ClCompile Include="Common\Random.cpp" />
- <ClCompile Include="Common\SDCardUtil.cpp" />
- <ClCompile Include="Common\SettingsHandler.cpp" />
- <ClCompile Include="Common\SFMLHelper.cpp" />
- <ClCompile Include="Common\SocketContext.cpp" />
- <ClCompile Include="Common\StringUtil.cpp" />
- <ClCompile Include="Common\SymbolDB.cpp" />
- <ClCompile Include="Common\Thread.cpp" />
- <ClCompile Include="Common\Timer.cpp" />
- <ClCompile Include="Common\TimeUtil.cpp" />
- <ClCompile Include="Common\TraversalClient.cpp" />
- <ClCompile Include="Common\UPnP.cpp" />
- <ClCompile Include="Common\WindowsDevice.cpp" />
- <ClCompile Include="Common\WindowsRegistry.cpp" />
- <ClCompile Include="Common\Version.cpp" />
- <ClCompile Include="Core\AchievementManager.cpp" />
- <ClCompile Include="Core\ActionReplay.cpp" />
- <ClCompile Include="Core\ARDecrypt.cpp" />
- <ClCompile Include="Core\Boot\Boot_BS2Emu.cpp" />
- <ClCompile Include="Core\Boot\Boot_WiiWAD.cpp" />
- <ClCompile Include="Core\Boot\Boot.cpp" />
- <ClCompile Include="Core\Boot\DolReader.cpp" />
- <ClCompile Include="Core\Boot\ElfReader.cpp" />
- <ClCompile Include="Core\BootManager.cpp" />
- <ClCompile Include="Core\CheatGeneration.cpp" />
- <ClCompile Include="Core\CheatSearch.cpp" />
- <ClCompile Include="Core\Config\AchievementSettings.cpp" />
- <ClCompile Include="Core\Config\DefaultLocale.cpp" />
- <ClCompile Include="Core\Config\FreeLookSettings.cpp" />
- <ClCompile Include="Core\Config\GraphicsSettings.cpp" />
- <ClCompile Include="Core\Config\MainSettings.cpp" />
- <ClCompile Include="Core\Config\NetplaySettings.cpp" />
- <ClCompile Include="Core\Config\SessionSettings.cpp" />
- <ClCompile Include="Core\Config\SYSCONFSettings.cpp" />
- <ClCompile Include="Core\Config\UISettings.cpp" />
- <ClCompile Include="Core\Config\WiimoteSettings.cpp" />
- <ClCompile Include="Core\ConfigLoaders\BaseConfigLoader.cpp" />
- <ClCompile Include="Core\ConfigLoaders\GameConfigLoader.cpp" />
- <ClCompile Include="Core\ConfigLoaders\IsSettingSaveable.cpp" />
- <ClCompile Include="Core\ConfigLoaders\MovieConfigLoader.cpp" />
- <ClCompile Include="Core\ConfigLoaders\NetPlayConfigLoader.cpp" />
- <ClCompile Include="Core\ConfigManager.cpp" />
- <ClCompile Include="Core\Core.cpp" />
- <ClCompile Include="Core\CoreTiming.cpp" />
- <ClCompile Include="Core\CPUThreadConfigCallback.cpp" />
- <ClCompile Include="Core\Debugger\BranchWatch.cpp" />
- <ClCompile Include="Core\Debugger\CodeTrace.cpp" />
- <ClCompile Include="Core\Debugger\Debugger_SymbolMap.cpp" />
- <ClCompile Include="Core\Debugger\Dump.cpp" />
- <ClCompile Include="Core\Debugger\OSThread.cpp" />
- <ClCompile Include="Core\Debugger\PPCDebugInterface.cpp" />
- <ClCompile Include="Core\Debugger\RSO.cpp" />
- <ClCompile Include="Core\DolphinAnalytics.cpp" />
- <ClCompile Include="Core\DSP\DSPAccelerator.cpp" />
- <ClCompile Include="Core\DSP\DSPAnalyzer.cpp" />
- <ClCompile Include="Core\DSP\DSPAssembler.cpp" />
- <ClCompile Include="Core\DSP\DSPCaptureLogger.cpp" />
- <ClCompile Include="Core\DSP\DSPCodeUtil.cpp" />
- <ClCompile Include="Core\DSP\DSPCore.cpp" />
- <ClCompile Include="Core\DSP\DSPDisassembler.cpp" />
- <ClCompile Include="Core\DSP\DSPHWInterface.cpp" />
- <ClCompile Include="Core\DSP\DSPMemoryMap.cpp" />
- <ClCompile Include="Core\DSP\DSPStacks.cpp" />
- <ClCompile Include="Core\DSP\DSPTables.cpp" />
- <ClCompile Include="Core\DSP\Interpreter\DSPIntArithmetic.cpp" />
- <ClCompile Include="Core\DSP\Interpreter\DSPIntBranch.cpp" />
- <ClCompile Include="Core\DSP\Interpreter\DSPInterpreter.cpp" />
- <ClCompile Include="Core\DSP\Interpreter\DSPIntExtOps.cpp" />
- <ClCompile Include="Core\DSP\Interpreter\DSPIntLoadStore.cpp" />
- <ClCompile Include="Core\DSP\Interpreter\DSPIntMisc.cpp" />
- <ClCompile Include="Core\DSP\Interpreter\DSPIntMultiplier.cpp" />
- <ClCompile Include="Core\DSP\Interpreter\DSPIntTables.cpp" />
- <ClCompile Include="Core\DSP\Jit\DSPEmitterBase.cpp" />
- <ClCompile Include="Core\DSP\LabelMap.cpp" />
- <ClCompile Include="Core\DSPEmulator.cpp" />
- <ClCompile Include="Core\FifoPlayer\FifoDataFile.cpp" />
- <ClCompile Include="Core\FifoPlayer\FifoPlayer.cpp" />
- <ClCompile Include="Core\FifoPlayer\FifoRecorder.cpp" />
- <ClCompile Include="Core\FreeLookManager.cpp" />
- <ClCompile Include="Core\GeckoCode.cpp" />
- <ClCompile Include="Core\GeckoCodeConfig.cpp" />
- <ClCompile Include="Core\HLE\HLE_Misc.cpp" />
- <ClCompile Include="Core\HLE\HLE_OS.cpp" />
- <ClCompile Include="Core\HLE\HLE_VarArgs.cpp" />
- <ClCompile Include="Core\HLE\HLE.cpp" />
- <ClCompile Include="Core\HotkeyManager.cpp" />
- <ClCompile Include="Core\HW\AddressSpace.cpp" />
- <ClCompile Include="Core\HW\AudioInterface.cpp" />
- <ClCompile Include="Core\HW\CPU.cpp" />
- <ClCompile Include="Core\HW\DSP.cpp" />
- <ClCompile Include="Core\HW\DSPHLE\DSPHLE.cpp" />
- <ClCompile Include="Core\HW\DSPHLE\MailHandler.cpp" />
- <ClCompile Include="Core\HW\DSPHLE\UCodes\ASnd.cpp" />
- <ClCompile Include="Core\HW\DSPHLE\UCodes\AESnd.cpp" />
- <ClCompile Include="Core\HW\DSPHLE\UCodes\AX.cpp" />
- <ClCompile Include="Core\HW\DSPHLE\UCodes\AXWii.cpp" />
- <ClCompile Include="Core\HW\DSPHLE\UCodes\CARD.cpp" />
- <ClCompile Include="Core\HW\DSPHLE\UCodes\GBA.cpp" />
- <ClCompile Include="Core\HW\DSPHLE\UCodes\INIT.cpp" />
- <ClCompile Include="Core\HW\DSPHLE\UCodes\ROM.cpp" />
- <ClCompile Include="Core\HW\DSPHLE\UCodes\UCodes.cpp" />
- <ClCompile Include="Core\HW\DSPHLE\UCodes\Zelda.cpp" />
- <ClCompile Include="Core\HW\DSPLLE\DSPHost.cpp" />
- <ClCompile Include="Core\HW\DSPLLE\DSPLLE.cpp" />
- <ClCompile Include="Core\HW\DSPLLE\DSPSymbols.cpp" />
- <ClCompile Include="Core\HW\DVD\AMMediaboard.cpp" />
- <ClCompile Include="Core\HW\DVD\DVDInterface.cpp" />
- <ClCompile Include="Core\HW\DVD\DVDMath.cpp" />
- <ClCompile Include="Core\HW\DVD\DVDThread.cpp" />
- <ClCompile Include="Core\HW\DVD\FileMonitor.cpp" />
- <ClCompile Include="Core\HW\EXI\BBA\BuiltIn.cpp" />
- <ClCompile Include="Core\HW\EXI\BBA\IPC.cpp" />
- <ClCompile Include="Core\HW\EXI\BBA\TAP_Win32.cpp" />
- <ClCompile Include="Core\HW\EXI\BBA\TAPServerConnection.cpp" />
- <ClCompile Include="Core\HW\EXI\BBA\TAPServerBBA.cpp" />
- <ClCompile Include="Core\HW\EXI\BBA\XLINK_KAI_BBA.cpp" />
- <ClCompile Include="Core\HW\EXI\Modem\TAPServerModem.cpp" />
- <ClCompile Include="Core\HW\EXI\EXI_Channel.cpp" />
- <ClCompile Include="Core\HW\EXI\EXI_Device.cpp" />
- <ClCompile Include="Core\HW\EXI\EXI_DeviceAD16.cpp" />
- <ClCompile Include="Core\HW\EXI\EXI_DeviceAGP.cpp" />
- <ClCompile Include="Core\HW\EXI\EXI_DeviceBaseboard.cpp" />
- <ClCompile Include="Core\HW\EXI\EXI_DeviceDummy.cpp" />
- <ClCompile Include="Core\HW\EXI\EXI_DeviceEthernet.cpp" />
- <ClCompile Include="Core\HW\EXI\EXI_DeviceGecko.cpp" />
- <ClCompile Include="Core\HW\EXI\EXI_DeviceIPL.cpp" />
- <ClCompile Include="Core\HW\EXI\EXI_DeviceMemoryCard.cpp" />
- <ClCompile Include="Core\HW\EXI\EXI_DeviceModem.cpp" />
- <ClCompile Include="Core\HW\EXI\EXI.cpp" />
- <ClCompile Include="Core\HW\GBACore.cpp" />
- <ClCompile Include="Core\HW\GBAPad.cpp" />
- <ClCompile Include="Core\HW\GBAPadEmu.cpp" />
- <ClCompile Include="Core\HW\GCKeyboard.cpp" />
- <ClCompile Include="Core\HW\GCKeyboardEmu.cpp" />
- <ClCompile Include="Core\HW\GCMemcard\GCIFile.cpp" />
- <ClCompile Include="Core\HW\GCMemcard\GCMemcard.cpp" />
- <ClCompile Include="Core\HW\GCMemcard\GCMemcardDirectory.cpp" />
- <ClCompile Include="Core\HW\GCMemcard\GCMemcardRaw.cpp" />
- <ClCompile Include="Core\HW\GCMemcard\GCMemcardUtils.cpp" />
- <ClCompile Include="Core\HW\GCPad.cpp" />
- <ClCompile Include="Core\HW\GCPadEmu.cpp" />
- <ClCompile Include="Core\HW\GPFifo.cpp" />
- <ClCompile Include="Core\HW\HSP\HSP.cpp" />
- <ClCompile Include="Core\HW\HSP\HSP_Device.cpp" />
- <ClCompile Include="Core\HW\HSP\HSP_DeviceARAMExpansion.cpp" />
- <ClCompile Include="Core\HW\HSP\HSP_DeviceGBPlayer.cpp" />
- <ClCompile Include="Core\HW\HSP\HSP_DeviceNull.cpp" />
- <ClCompile Include="Core\HW\HW.cpp" />
- <ClCompile Include="Core\HW\MagCard\C1231BR.cpp" />
- <ClCompile Include="Core\HW\MagCard\C1231LR.cpp" />
- <ClCompile Include="Core\HW\MagCard\MagneticCardReader.cpp" />
- <ClCompile Include="Core\HW\Memmap.cpp" />
- <ClCompile Include="Core\HW\MemoryInterface.cpp" />
- <ClCompile Include="Core\HW\MMIO.cpp" />
- <ClCompile Include="Core\HW\ProcessorInterface.cpp" />
- <ClCompile Include="Core\HW\SI\SI_Device.cpp" />
- <ClCompile Include="Core\HW\SI\SI_DeviceAMBaseboard.cpp" />
- <ClCompile Include="Core\HW\SI\SI_DeviceDanceMat.cpp" />
- <ClCompile Include="Core\HW\SI\SI_DeviceGBA.cpp" />
- <ClCompile Include="Core\HW\SI\SI_DeviceGBAEmu.cpp" />
- <ClCompile Include="Core\HW\SI\SI_DeviceGCAdapter.cpp" />
- <ClCompile Include="Core\HW\SI\SI_DeviceGCController.cpp" />
- <ClCompile Include="Core\HW\SI\SI_DeviceGCSteeringWheel.cpp" />
- <ClCompile Include="Core\HW\SI\SI_DeviceKeyboard.cpp" />
- <ClCompile Include="Core\HW\SI\SI_DeviceNull.cpp" />
- <ClCompile Include="Core\HW\SI\SI.cpp" />
- <ClCompile Include="Core\HW\Sram.cpp" />
- <ClCompile Include="Core\HW\StreamADPCM.cpp" />
- <ClCompile Include="Core\HW\SystemTimers.cpp" />
- <ClCompile Include="Core\HW\Triforce\DeckReader.cpp" />
- <ClCompile Include="Core\HW\Triforce\FZeroAX.cpp" />
- <ClCompile Include="Core\HW\Triforce\ICCardReader.cpp" />
- <ClCompile Include="Core\HW\Triforce\IOPorts.cpp" />
- <ClCompile Include="Core\HW\Triforce\JVSIO.cpp" />
- <ClCompile Include="Core\HW\Triforce\MarioKartGP.cpp" />
- <ClCompile Include="Core\HW\Triforce\SerialDevice.cpp" />
- <ClCompile Include="Core\HW\Triforce\Touchscreen.cpp" />
- <ClCompile Include="Core\HW\VideoInterface.cpp" />
- <ClCompile Include="Core\HW\WII_IPC.cpp" />
- <ClCompile Include="Core\HW\Wiimote.cpp" />
- <ClCompile Include="Core\HW\WiimoteCommon\DataReport.cpp" />
- <ClCompile Include="Core\HW\WiimoteEmu\Camera.cpp" />
- <ClCompile Include="Core\HW\WiimoteEmu\DesiredWiimoteState.cpp" />
- <ClCompile Include="Core\HW\WiimoteEmu\Dynamics.cpp" />
- <ClCompile Include="Core\HW\WiimoteEmu\EmuSubroutines.cpp" />
- <ClCompile Include="Core\HW\WiimoteEmu\Encryption.cpp" />
- <ClCompile Include="Core\HW\WiimoteEmu\Extension\Classic.cpp" />
- <ClCompile Include="Core\HW\WiimoteEmu\Extension\DrawsomeTablet.cpp" />
- <ClCompile Include="Core\HW\WiimoteEmu\Extension\Drums.cpp" />
- <ClCompile Include="Core\HW\WiimoteEmu\Extension\Extension.cpp" />
- <ClCompile Include="Core\HW\WiimoteEmu\Extension\Guitar.cpp" />
- <ClCompile Include="Core\HW\WiimoteEmu\Extension\Nunchuk.cpp" />
- <ClCompile Include="Core\HW\WiimoteEmu\Extension\Shinkansen.cpp" />
- <ClCompile Include="Core\HW\WiimoteEmu\Extension\TaTaCon.cpp" />
- <ClCompile Include="Core\HW\WiimoteEmu\Extension\Turntable.cpp" />
- <ClCompile Include="Core\HW\WiimoteEmu\Extension\UDrawTablet.cpp" />
- <ClCompile Include="Core\HW\WiimoteEmu\ExtensionPort.cpp" />
- <ClCompile Include="Core\HW\WiimoteEmu\I2CBus.cpp" />
- <ClCompile Include="Core\HW\WiimoteEmu\MotionPlus.cpp" />
- <ClCompile Include="Core\HW\WiimoteEmu\Speaker.cpp" />
- <ClCompile Include="Core\HW\WiimoteEmu\WiimoteEmu.cpp" />
- <ClCompile Include="Core\HW\WiimoteReal\IOWin.cpp" />
- <ClCompile Include="Core\HW\WiimoteReal\WiimoteReal.cpp" />
- <ClCompile Include="Core\HW\WiiSave.cpp" />
- <ClCompile Include="Core\IOS\Crypto\Sha.cpp" />
- <ClCompile Include="Core\IOS\Crypto\AesDevice.cpp" />
- <ClCompile Include="Core\IOS\Device.cpp" />
- <ClCompile Include="Core\IOS\DeviceStub.cpp" />
- <ClCompile Include="Core\IOS\DI\DI.cpp" />
- <ClCompile Include="Core\IOS\DolphinDevice.cpp" />
- <ClCompile Include="Core\IOS\ES\ES.cpp" />
- <ClCompile Include="Core\IOS\ES\Formats.cpp" />
- <ClCompile Include="Core\IOS\ES\Identity.cpp" />
- <ClCompile Include="Core\IOS\ES\NandUtils.cpp" />
- <ClCompile Include="Core\IOS\ES\TitleContents.cpp" />
- <ClCompile Include="Core\IOS\ES\TitleInformation.cpp" />
- <ClCompile Include="Core\IOS\ES\TitleManagement.cpp" />
- <ClCompile Include="Core\IOS\ES\Views.cpp" />
- <ClCompile Include="Core\IOS\FS\FileSystemCommon.cpp" />
- <ClCompile Include="Core\IOS\FS\FileSystemProxy.cpp" />
- <ClCompile Include="Core\IOS\FS\HostBackend\File.cpp" />
- <ClCompile Include="Core\IOS\FS\HostBackend\FS.cpp" />
- <ClCompile Include="Core\IOS\IOS.cpp" />
- <ClCompile Include="Core\IOS\IOSC.cpp" />
- <ClCompile Include="Core\IOS\MIOS.cpp" />
- <ClCompile Include="Core\IOS\Network\ICMPWin.cpp" />
- <ClCompile Include="Core\IOS\Network\IP\Top.cpp" />
- <ClCompile Include="Core\IOS\Network\KD\NetKDRequest.cpp" />
- <ClCompile Include="Core\IOS\Network\KD\NetKDTime.cpp" />
- <ClCompile Include="Core\IOS\Network\KD\NWC24Config.cpp" />
- <ClCompile Include="Core\IOS\Network\KD\NWC24DL.cpp" />
- <ClCompile Include="Core\IOS\Network\KD\VFF\VFFUtil.cpp" />
- <ClCompile Include="Core\IOS\Network\KD\Mail\WC24FriendList.cpp" />
- <ClCompile Include="Core\IOS\Network\KD\Mail\WC24Send.cpp" />
- <ClCompile Include="Core\IOS\Network\MACUtils.cpp" />
- <ClCompile Include="Core\IOS\Network\NCD\Manage.cpp" />
- <ClCompile Include="Core\IOS\Network\NCD\WiiNetConfig.cpp" />
- <ClCompile Include="Core\IOS\Network\Socket.cpp" />
- <ClCompile Include="Core\IOS\Network\SSL.cpp" />
- <ClCompile Include="Core\IOS\Network\WD\Command.cpp" />
- <ClCompile Include="Core\IOS\SDIO\SDIOSlot0.cpp" />
- <ClCompile Include="Core\IOS\STM\STM.cpp" />
- <ClCompile Include="Core\IOS\USB\Bluetooth\BTBase.cpp" />
- <ClCompile Include="Core\IOS\USB\Bluetooth\BTEmu.cpp" />
- <ClCompile Include="Core\IOS\USB\Bluetooth\BTReal.cpp" />
- <ClCompile Include="Core\IOS\USB\Bluetooth\BTStub.cpp" />
- <ClCompile Include="Core\IOS\USB\Bluetooth\LibUSBBluetoothAdapter.cpp" />
- <ClCompile Include="Core\IOS\USB\Bluetooth\RealtekFirmwareLoader.cpp" />
- <ClCompile Include="Core\IOS\USB\Bluetooth\WiimoteDevice.cpp" />
- <ClCompile Include="Core\IOS\USB\Bluetooth\WiimoteHIDAttr.cpp" />
- <ClCompile Include="Core\IOS\USB\Common.cpp" />
- <ClCompile Include="Core\IOS\USB\Emulated\Infinity.cpp" />
- <ClCompile Include="Core\IOS\USB\Emulated\LogitechMic.cpp" />
- <ClCompile Include="Core\IOS\USB\Emulated\Microphone.cpp" />
- <ClCompile Include="Core\IOS\USB\Emulated\Skylanders\Skylander.cpp" />
- <ClCompile Include="Core\IOS\USB\Emulated\Skylanders\SkylanderCrypto.cpp" />
- <ClCompile Include="Core\IOS\USB\Emulated\Skylanders\SkylanderFigure.cpp" />
- <ClCompile Include="Core\IOS\USB\Emulated\WiiSpeak.cpp" />
- <ClCompile Include="Core\IOS\USB\Host.cpp" />
- <ClCompile Include="Core\IOS\USB\LibusbDevice.cpp" />
- <ClCompile Include="Core\IOS\USB\OH0\OH0.cpp" />
- <ClCompile Include="Core\IOS\USB\OH0\OH0Device.cpp" />
- <ClCompile Include="Core\IOS\USB\USB_HID\HIDv4.cpp" />
- <ClCompile Include="Core\IOS\USB\USB_HID\HIDv5.cpp" />
- <ClCompile Include="Core\IOS\USB\USB_KBD.cpp" />
- <ClCompile Include="Core\IOS\USB\USB_VEN\VEN.cpp" />
- <ClCompile Include="Core\IOS\USB\USBScanner.cpp" />
- <ClCompile Include="Core\IOS\USB\USBV0.cpp" />
- <ClCompile Include="Core\IOS\USB\USBV4.cpp" />
- <ClCompile Include="Core\IOS\USB\USBV5.cpp" />
- <ClCompile Include="Core\IOS\VersionInfo.cpp" />
- <ClCompile Include="Core\IOS\WFS\WFSI.cpp" />
- <ClCompile Include="Core\IOS\WFS\WFSSRV.cpp" />
- <ClCompile Include="Core\LibusbUtils.cpp" />
- <ClCompile Include="Core\MemTools.cpp" />
- <ClCompile Include="Core\Movie.cpp" />
- <ClCompile Include="Core\NetPlayClient.cpp" />
- <ClCompile Include="Core\NetPlayCommon.cpp" />
- <ClCompile Include="Core\NetPlayServer.cpp" />
- <ClCompile Include="Core\NetworkCaptureLogger.cpp" />
- <ClCompile Include="Core\PatchEngine.cpp" />
- <ClCompile Include="Core\PowerPC\BreakPoints.cpp" />
- <ClCompile Include="Core\PowerPC\CachedInterpreter\CachedInterpreter_Disassembler.cpp" />
- <ClCompile Include="Core\PowerPC\CachedInterpreter\CachedInterpreter.cpp" />
- <ClCompile Include="Core\PowerPC\CachedInterpreter\CachedInterpreterBlockCache.cpp" />
- <ClCompile Include="Core\PowerPC\CachedInterpreter\CachedInterpreterEmitter.cpp" />
- <ClCompile Include="Core\PowerPC\ConditionRegister.cpp" />
- <ClCompile Include="Core\PowerPC\Expression.cpp" />
- <ClCompile Include="Core\PowerPC\GDBStub.cpp" />
- <ClCompile Include="Core\PowerPC\Interpreter\Interpreter_Branch.cpp" />
- <ClCompile Include="Core\PowerPC\Interpreter\Interpreter_FloatingPoint.cpp" />
- <ClCompile Include="Core\PowerPC\Interpreter\Interpreter_Integer.cpp" />
- <ClCompile Include="Core\PowerPC\Interpreter\Interpreter_LoadStore.cpp" />
- <ClCompile Include="Core\PowerPC\Interpreter\Interpreter_LoadStorePaired.cpp" />
- <ClCompile Include="Core\PowerPC\Interpreter\Interpreter_Paired.cpp" />
- <ClCompile Include="Core\PowerPC\Interpreter\Interpreter_SystemRegisters.cpp" />
- <ClCompile Include="Core\PowerPC\Interpreter\Interpreter_Tables.cpp" />
- <ClCompile Include="Core\PowerPC\Interpreter\Interpreter.cpp" />
- <ClCompile Include="Core\PowerPC\JitCommon\ConstantPropagation.cpp" />
- <ClCompile Include="Core\PowerPC\JitCommon\DivUtils.cpp" />
- <ClCompile Include="Core\PowerPC\JitCommon\JitAsmCommon.cpp" />
- <ClCompile Include="Core\PowerPC\JitCommon\JitBase.cpp" />
- <ClCompile Include="Core\PowerPC\JitCommon\JitCache.cpp" />
- <ClCompile Include="Core\PowerPC\JitInterface.cpp" />
- <ClCompile Include="Core\PowerPC\MMU.cpp" />
- <ClCompile Include="Core\PowerPC\PowerPC.cpp" />
- <ClCompile Include="Core\PowerPC\PPCAnalyst.cpp" />
- <ClCompile Include="Core\PowerPC\PPCCache.cpp" />
- <ClCompile Include="Core\PowerPC\PPCSymbolDB.cpp" />
- <ClCompile Include="Core\PowerPC\PPCTables.cpp" />
- <ClCompile Include="Core\PowerPC\SignatureDB\CSVSignatureDB.cpp" />
- <ClCompile Include="Core\PowerPC\SignatureDB\DSYSignatureDB.cpp" />
- <ClCompile Include="Core\PowerPC\SignatureDB\MEGASignatureDB.cpp" />
- <ClCompile Include="Core\PowerPC\SignatureDB\SignatureDB.cpp" />
- <ClCompile Include="Core\State.cpp" />
- <ClCompile Include="Core\SysConf.cpp" />
- <ClCompile Include="Core\System.cpp" />
- <ClCompile Include="Core\TimePlayed.cpp" />
- <ClCompile Include="Core\TitleDatabase.cpp" />
- <ClCompile Include="Core\USBUtils.cpp" />
- <ClCompile Include="Core\WiiRoot.cpp" />
- <ClCompile Include="Core\WiiUtils.cpp" />
- <ClCompile Include="Core\WC24PatchEngine.cpp" />
- <ClCompile Include="DiscIO\Blob.cpp" />
- <ClCompile Include="DiscIO\CISOBlob.cpp" />
- <ClCompile Include="DiscIO\CachedBlob.cpp" />
- <ClCompile Include="DiscIO\CompressedBlob.cpp" />
- <ClCompile Include="DiscIO\DirectoryBlob.cpp" />
- <ClCompile Include="DiscIO\DiscExtractor.cpp" />
- <ClCompile Include="DiscIO\DiscScrubber.cpp" />
- <ClCompile Include="DiscIO\DiscUtils.cpp" />
- <ClCompile Include="DiscIO\Enums.cpp" />
- <ClCompile Include="DiscIO\FileBlob.cpp" />
- <ClCompile Include="DiscIO\Filesystem.cpp" />
- <ClCompile Include="DiscIO\FileSystemGCWii.cpp" />
- <ClCompile Include="DiscIO\GameModDescriptor.cpp" />
- <ClCompile Include="DiscIO\LaggedFibonacciGenerator.cpp" />
- <ClCompile Include="DiscIO\NANDImporter.cpp" />
- <ClCompile Include="DiscIO\NFSBlob.cpp" />
- <ClCompile Include="DiscIO\RiivolutionParser.cpp" />
- <ClCompile Include="DiscIO\RiivolutionPatcher.cpp" />
- <ClCompile Include="DiscIO\ScrubbedBlob.cpp" />
- <ClCompile Include="DiscIO\SplitFileBlob.cpp" />
- <ClCompile Include="DiscIO\TGCBlob.cpp" />
- <ClCompile Include="DiscIO\Volume.cpp" />
- <ClCompile Include="DiscIO\VolumeDisc.cpp" />
- <ClCompile Include="DiscIO\VolumeFileBlobReader.cpp" />
- <ClCompile Include="DiscIO\VolumeGC.cpp" />
- <ClCompile Include="DiscIO\VolumeVerifier.cpp" />
- <ClCompile Include="DiscIO\VolumeWad.cpp" />
- <ClCompile Include="DiscIO\VolumeWii.cpp" />
- <ClCompile Include="DiscIO\WbfsBlob.cpp" />
- <ClCompile Include="DiscIO\WIABlob.cpp" />
- <ClCompile Include="DiscIO\WIACompression.cpp" />
- <ClCompile Include="DiscIO\WiiEncryptionCache.cpp" />
- <ClCompile Include="DiscIO\WiiSaveBanner.cpp" />
- <ClCompile Include="InputCommon\ControllerEmu\Control\Control.cpp" />
- <ClCompile Include="InputCommon\ControllerEmu\Control\Input.cpp" />
- <ClCompile Include="InputCommon\ControllerEmu\Control\Output.cpp" />
- <ClCompile Include="InputCommon\ControllerEmu\ControlGroup\AnalogStick.cpp" />
- <ClCompile Include="InputCommon\ControllerEmu\ControlGroup\Attachments.cpp" />
- <ClCompile Include="InputCommon\ControllerEmu\ControlGroup\Buttons.cpp" />
- <ClCompile Include="InputCommon\ControllerEmu\ControlGroup\ControlGroup.cpp" />
- <ClCompile Include="InputCommon\ControllerEmu\ControlGroup\Cursor.cpp" />
- <ClCompile Include="InputCommon\ControllerEmu\ControlGroup\Force.cpp" />
- <ClCompile Include="InputCommon\ControllerEmu\ControlGroup\IMUAccelerometer.cpp" />
- <ClCompile Include="InputCommon\ControllerEmu\ControlGroup\IMUCursor.cpp" />
- <ClCompile Include="InputCommon\ControllerEmu\ControlGroup\IMUGyroscope.cpp" />
- <ClCompile Include="InputCommon\ControllerEmu\ControlGroup\IRPassthrough.cpp" />
- <ClCompile Include="InputCommon\ControllerEmu\ControlGroup\MixedTriggers.cpp" />
- <ClCompile Include="InputCommon\ControllerEmu\ControlGroup\ModifySettingsButton.cpp" />
- <ClCompile Include="InputCommon\ControllerEmu\ControlGroup\Slider.cpp" />
- <ClCompile Include="InputCommon\ControllerEmu\ControlGroup\Tilt.cpp" />
- <ClCompile Include="InputCommon\ControllerEmu\ControlGroup\Triggers.cpp" />
- <ClCompile Include="InputCommon\ControllerEmu\ControllerEmu.cpp" />
- <ClCompile Include="InputCommon\ControllerEmu\Setting\NumericSetting.cpp" />
- <ClCompile Include="InputCommon\ControllerEmu\StickGate.cpp" />
- <ClCompile Include="InputCommon\ControllerInterface\ControllerInterface.cpp" />
- <ClCompile Include="InputCommon\ControllerInterface\CoreDevice.cpp" />
- <ClCompile Include="InputCommon\ControllerInterface\InputBackend.cpp" />
- <ClCompile Include="InputCommon\ControllerInterface\DInput\DInput.cpp" />
- <ClCompile Include="InputCommon\ControllerInterface\DInput\DInputJoystick.cpp" />
- <ClCompile Include="InputCommon\ControllerInterface\DInput\DInputKeyboardMouse.cpp" />
- <ClCompile Include="InputCommon\ControllerInterface\DInput\XInputFilter.cpp" />
- <ClCompile Include="InputCommon\ControllerInterface\DualShockUDPClient\DualShockUDPClient.cpp" />
- <ClCompile Include="InputCommon\ControllerInterface\ForceFeedback\ForceFeedbackDevice.cpp" />
- <ClCompile Include="InputCommon\ControllerInterface\MappingCommon.cpp" />
- <ClCompile Include="InputCommon\ControllerInterface\WGInput\WGInput.cpp" />
- <ClCompile Include="InputCommon\ControllerInterface\Wiimote\WiimoteController.cpp" />
- <ClCompile Include="InputCommon\ControllerInterface\Win32\Win32.cpp" />
- <ClCompile Include="InputCommon\ControllerInterface\XInput\XInput.cpp" />
- <ClCompile Include="InputCommon\ControllerInterface\SDL\SDL.cpp" />
- <ClCompile Include="InputCommon\ControllerInterface\SDL\SDLGamepad.cpp" />
- <ClCompile Include="InputCommon\ControlReference\ControlReference.cpp" />
- <ClCompile Include="InputCommon\ControlReference\ExpressionParser.cpp" />
- <ClCompile Include="InputCommon\ControlReference\FunctionExpression.cpp" />
- <ClCompile Include="InputCommon\DynamicInputTextures\DITConfiguration.cpp" />
- <ClCompile Include="InputCommon\DynamicInputTextures\DITSpecification.cpp" />
- <ClCompile Include="InputCommon\DynamicInputTextureManager.cpp" />
- <ClCompile Include="InputCommon\GCAdapter.cpp" />
- <ClCompile Include="InputCommon\ImageOperations.cpp" />
- <ClCompile Include="InputCommon\InputConfig.cpp" />
- <ClCompile Include="InputCommon\InputProfile.cpp" />
- <ClCompile Include="UICommon\AutoUpdate.cpp" />
- <ClCompile Include="UICommon\CommandLineParse.cpp" />
- <ClCompile Include="UICommon\DiscordPresence.cpp" />
- <ClCompile Include="UICommon\GameFile.cpp" />
- <ClCompile Include="UICommon\GameFileCache.cpp" />
- <ClCompile Include="UICommon\NetPlayIndex.cpp" />
- <ClCompile Include="UICommon\ResourcePack\Manager.cpp" />
- <ClCompile Include="UICommon\ResourcePack\Manifest.cpp" />
- <ClCompile Include="UICommon\ResourcePack\ResourcePack.cpp" />
- <ClCompile Include="UICommon\UICommon.cpp" />
- <ClCompile Include="UpdaterCommon\UpdaterCommon.cpp" />
- <ClCompile Include="VideoBackends\D3D\D3DBase.cpp" />
- <ClCompile Include="VideoBackends\D3D\D3DBoundingBox.cpp" />
- <ClCompile Include="VideoBackends\D3D\D3DMain.cpp" />
- <ClCompile Include="VideoBackends\D3D\D3DNativeVertexFormat.cpp" />
- <ClCompile Include="VideoBackends\D3D\D3DPerfQuery.cpp" />
- <ClCompile Include="VideoBackends\D3D\D3DGfx.cpp" />
- <ClCompile Include="VideoBackends\D3D\D3DState.cpp" />
- <ClCompile Include="VideoBackends\D3D\D3DSwapChain.cpp" />
- <ClCompile Include="VideoBackends\D3D\D3DVertexManager.cpp" />
- <ClCompile Include="VideoBackends\D3D\DXPipeline.cpp" />
- <ClCompile Include="VideoBackends\D3D\DXShader.cpp" />
- <ClCompile Include="VideoBackends\D3D\DXTexture.cpp" />
- <ClCompile Include="VideoBackends\D3D12\D3D12BoundingBox.cpp" />
- <ClCompile Include="VideoBackends\D3D12\D3D12PerfQuery.cpp" />
- <ClCompile Include="VideoBackends\D3D12\D3D12Gfx.cpp" />
- <ClCompile Include="VideoBackends\D3D12\D3D12StreamBuffer.cpp" />
- <ClCompile Include="VideoBackends\D3D12\D3D12SwapChain.cpp" />
- <ClCompile Include="VideoBackends\D3D12\D3D12VertexManager.cpp" />
- <ClCompile Include="VideoBackends\D3D12\DescriptorAllocator.cpp" />
- <ClCompile Include="VideoBackends\D3D12\DescriptorHeapManager.cpp" />
- <ClCompile Include="VideoBackends\D3D12\DX12Context.cpp" />
- <ClCompile Include="VideoBackends\D3D12\DX12Pipeline.cpp" />
- <ClCompile Include="VideoBackends\D3D12\DX12Shader.cpp" />
- <ClCompile Include="VideoBackends\D3D12\DX12Texture.cpp" />
- <ClCompile Include="VideoBackends\D3D12\DX12VertexFormat.cpp" />
- <ClCompile Include="VideoBackends\D3D12\VideoBackend.cpp" />
- <ClCompile Include="VideoBackends\D3DCommon\D3DCommon.cpp" />
- <ClCompile Include="VideoBackends\D3DCommon\Shader.cpp" />
- <ClCompile Include="VideoBackends\D3DCommon\SwapChain.cpp" />
- <ClCompile Include="VideoBackends\Null\NullBackend.cpp" />
- <ClCompile Include="VideoBackends\Null\NullGfx.cpp" />
- <ClCompile Include="VideoBackends\Null\NullTexture.cpp" />
- <ClCompile Include="VideoBackends\Null\NullVertexManager.cpp" />
- <ClCompile Include="VideoBackends\OGL\OGLBoundingBox.cpp" />
- <ClCompile Include="VideoBackends\OGL\OGLConfig.cpp" />
- <ClCompile Include="VideoBackends\OGL\OGLGfx.cpp" />
- <ClCompile Include="VideoBackends\OGL\OGLMain.cpp" />
- <ClCompile Include="VideoBackends\OGL\OGLNativeVertexFormat.cpp" />
- <ClCompile Include="VideoBackends\OGL\OGLPerfQuery.cpp" />
- <ClCompile Include="VideoBackends\OGL\OGLPipeline.cpp" />
- <ClCompile Include="VideoBackends\OGL\OGLShader.cpp" />
- <ClCompile Include="VideoBackends\OGL\OGLStreamBuffer.cpp" />
- <ClCompile Include="VideoBackends\OGL\OGLTexture.cpp" />
- <ClCompile Include="VideoBackends\OGL\OGLVertexManager.cpp" />
- <ClCompile Include="VideoBackends\OGL\ProgramShaderCache.cpp" />
- <ClCompile Include="VideoBackends\OGL\SamplerCache.cpp" />
- <ClCompile Include="VideoBackends\Software\Clipper.cpp" />
- <ClCompile Include="VideoBackends\Software\EfbCopy.cpp" />
- <ClCompile Include="VideoBackends\Software\Rasterizer.cpp" />
- <ClCompile Include="VideoBackends\Software\SetupUnit.cpp" />
- <ClCompile Include="VideoBackends\Software\SWmain.cpp" />
- <ClCompile Include="VideoBackends\Software\SWBoundingBox.cpp" />
- <ClCompile Include="VideoBackends\Software\SWEfbInterface.cpp" />
- <ClCompile Include="VideoBackends\Software\SWGfx.cpp" />
- <ClCompile Include="VideoBackends\Software\SWOGLWindow.cpp" />
- <ClCompile Include="VideoBackends\Software\SWTexture.cpp" />
- <ClCompile Include="VideoBackends\Software\SWVertexLoader.cpp" />
- <ClCompile Include="VideoBackends\Software\Tev.cpp" />
- <ClCompile Include="VideoBackends\Software\TextureEncoder.cpp" />
- <ClCompile Include="VideoBackends\Software\TextureSampler.cpp" />
- <ClCompile Include="VideoBackends\Software\TransformUnit.cpp" />
- <ClCompile Include="VideoBackends\Vulkan\CommandBufferManager.cpp" />
- <ClCompile Include="VideoBackends\Vulkan\ObjectCache.cpp" />
- <ClCompile Include="VideoBackends\Vulkan\ShaderCompiler.cpp" />
- <ClCompile Include="VideoBackends\Vulkan\StagingBuffer.cpp" />
- <ClCompile Include="VideoBackends\Vulkan\StateTracker.cpp" />
- <ClCompile Include="VideoBackends\Vulkan\VKBoundingBox.cpp" />
- <ClCompile Include="VideoBackends\Vulkan\VKMain.cpp" />
- <ClCompile Include="VideoBackends\Vulkan\VKPerfQuery.cpp" />
- <ClCompile Include="VideoBackends\Vulkan\VKPipeline.cpp" />
- <ClCompile Include="VideoBackends\Vulkan\VKGfx.cpp" />
- <ClCompile Include="VideoBackends\Vulkan\VKShader.cpp" />
- <ClCompile Include="VideoBackends\Vulkan\VKStreamBuffer.cpp" />
- <ClCompile Include="VideoBackends\Vulkan\VKSwapChain.cpp" />
- <ClCompile Include="VideoBackends\Vulkan\VKTexture.cpp" />
- <ClCompile Include="VideoBackends\Vulkan\VKVertexFormat.cpp" />
- <ClCompile Include="VideoBackends\Vulkan\VKVertexManager.cpp" />
- <ClCompile Include="VideoBackends\Vulkan\VulkanContext.cpp" />
- <ClCompile Include="VideoBackends\Vulkan\VulkanLoader.cpp" />
- <ClCompile Include="VideoCommon\AbstractFramebuffer.cpp" />
- <ClCompile Include="VideoCommon\AbstractGfx.cpp" />
- <ClCompile Include="VideoCommon\AbstractStagingTexture.cpp" />
- <ClCompile Include="VideoCommon\AbstractTexture.cpp" />
- <ClCompile Include="VideoCommon\Assets\CustomAsset.cpp" />
- <ClCompile Include="VideoCommon\Assets\CustomAssetCache.cpp" />
- <ClCompile Include="VideoCommon\Assets\CustomAssetLoader.cpp" />
- <ClCompile Include="VideoCommon\Assets\CustomTextureData.cpp" />
- <ClCompile Include="VideoCommon\Assets\DirectFilesystemAssetLibrary.cpp" />
- <ClCompile Include="VideoCommon\Assets\MaterialAsset.cpp" />
- <ClCompile Include="VideoCommon\Assets\MeshAsset.cpp" />
- <ClCompile Include="VideoCommon\Assets\ShaderAsset.cpp" />
- <ClCompile Include="VideoCommon\Assets\TextureAsset.cpp" />
- <ClCompile Include="VideoCommon\Assets\TextureAssetUtils.cpp" />
- <ClCompile Include="VideoCommon\Assets\TextureSamplerValue.cpp" />
- <ClCompile Include="VideoCommon\AsyncRequests.cpp" />
- <ClCompile Include="VideoCommon\AsyncShaderCompiler.cpp" />
- <ClCompile Include="VideoCommon\BoundingBox.cpp" />
- <ClCompile Include="VideoCommon\BPFunctions.cpp" />
- <ClCompile Include="VideoCommon\BPMemory.cpp" />
- <ClCompile Include="VideoCommon\BPStructs.cpp" />
- <ClCompile Include="VideoCommon\CommandProcessor.cpp" />
- <ClCompile Include="VideoCommon\CPMemory.cpp" />
- <ClCompile Include="VideoCommon\CPUCull.cpp" />
- <ClCompile Include="VideoCommon\DriverDetails.cpp" />
- <ClCompile Include="VideoCommon\EFBInterface.cpp" />
- <ClCompile Include="VideoCommon\Fifo.cpp" />
- <ClCompile Include="VideoCommon\FramebufferManager.cpp" />
- <ClCompile Include="VideoCommon\FramebufferShaderGen.cpp" />
- <ClCompile Include="VideoCommon\FrameDumpFFMpeg.cpp" />
- <ClCompile Include="VideoCommon\FrameDumper.cpp" />
- <ClCompile Include="VideoCommon\FreeLookCamera.cpp" />
- <ClCompile Include="VideoCommon\GeometryShaderGen.cpp" />
- <ClCompile Include="VideoCommon\GeometryShaderManager.cpp" />
- <ClCompile Include="VideoCommon\GraphicsModSystem\Config\GraphicsMod.cpp" />
- <ClCompile Include="VideoCommon\GraphicsModSystem\Config\GraphicsModAsset.cpp" />
- <ClCompile Include="VideoCommon\GraphicsModSystem\Config\GraphicsModFeature.cpp" />
- <ClCompile Include="VideoCommon\GraphicsModSystem\Config\GraphicsModGroup.cpp" />
- <ClCompile Include="VideoCommon\GraphicsModSystem\Config\GraphicsTarget.cpp" />
- <ClCompile Include="VideoCommon\GraphicsModSystem\Config\GraphicsTargetGroup.cpp" />
- <ClCompile Include="VideoCommon\GraphicsModSystem\Runtime\Actions\CustomPipelineAction.cpp" />
- <ClCompile Include="VideoCommon\GraphicsModSystem\Runtime\Actions\MoveAction.cpp" />
- <ClCompile Include="VideoCommon\GraphicsModSystem\Runtime\Actions\PrintAction.cpp" />
- <ClCompile Include="VideoCommon\GraphicsModSystem\Runtime\Actions\ScaleAction.cpp" />
- <ClCompile Include="VideoCommon\GraphicsModSystem\Runtime\Actions\SkipAction.cpp" />
- <ClCompile Include="VideoCommon\GraphicsModSystem\Runtime\CustomPipeline.cpp" />
- <ClCompile Include="VideoCommon\GraphicsModSystem\Runtime\CustomShaderCache.cpp" />
- <ClCompile Include="VideoCommon\GraphicsModSystem\Runtime\FBInfo.cpp" />
- <ClCompile Include="VideoCommon\GraphicsModSystem\Runtime\GraphicsModActionFactory.cpp" />
- <ClCompile Include="VideoCommon\GraphicsModSystem\Runtime\GraphicsModManager.cpp" />
- <ClCompile Include="VideoCommon\HiresTextures.cpp" />
- <ClCompile Include="VideoCommon\IndexGenerator.cpp" />
- <ClCompile Include="VideoCommon\LightingShaderGen.cpp" />
- <ClCompile Include="VideoCommon\NetPlayChatUI.cpp" />
- <ClCompile Include="VideoCommon\NetPlayGolfUI.cpp" />
- <ClCompile Include="VideoCommon\OnScreenDisplay.cpp" />
- <ClCompile Include="VideoCommon\OnScreenUI.cpp" />
- <ClCompile Include="VideoCommon\OpcodeDecoding.cpp" />
- <ClCompile Include="VideoCommon\PerfQueryBase.cpp" />
- <ClCompile Include="VideoCommon\PerformanceMetrics.cpp" />
- <ClCompile Include="VideoCommon\PerformanceTracker.cpp" />
- <ClCompile Include="VideoCommon\PipelineUtils.cpp" />
- <ClCompile Include="VideoCommon\PixelEngine.cpp" />
- <ClCompile Include="VideoCommon\PixelShaderGen.cpp" />
- <ClCompile Include="VideoCommon\PixelShaderManager.cpp" />
- <ClCompile Include="VideoCommon\PostProcessing.cpp" />
- <ClCompile Include="VideoCommon\Present.cpp" />
- <ClCompile Include="VideoCommon\RenderState.cpp" />
- <ClCompile Include="VideoCommon\Resources\CustomResourceManager.cpp" />
- <ClCompile Include="VideoCommon\Resources\InvalidTextures.cpp" />
- <ClCompile Include="VideoCommon\Resources\MaterialResource.cpp" />
- <ClCompile Include="VideoCommon\Resources\Resource.cpp" />
- <ClCompile Include="VideoCommon\Resources\ShaderResource.cpp" />
- <ClCompile Include="VideoCommon\Resources\TextureAndSamplerResource.cpp" />
- <ClCompile Include="VideoCommon\Resources\TextureDataResource.cpp" />
- <ClCompile Include="VideoCommon\Resources\TexturePool.cpp" />
- <ClCompile Include="VideoCommon\ShaderCache.cpp" />
- <ClCompile Include="VideoCommon\ShaderCompileUtils.cpp" />
- <ClCompile Include="VideoCommon\ShaderGenCommon.cpp" />
- <ClCompile Include="VideoCommon\Spirv.cpp" />
- <ClCompile Include="VideoCommon\Statistics.cpp" />
- <ClCompile Include="VideoCommon\TextureCacheBase.cpp" />
- <ClCompile Include="VideoCommon\TextureConfig.cpp" />
- <ClCompile Include="VideoCommon\TextureConversionShader.cpp" />
- <ClCompile Include="VideoCommon\TextureConverterShaderGen.cpp" />
- <ClCompile Include="VideoCommon\TextureDecoder_Common.cpp" />
- <ClCompile Include="VideoCommon\TextureInfo.cpp" />
- <ClCompile Include="VideoCommon\TextureUtils.cpp" />
- <ClCompile Include="VideoCommon\TMEM.cpp" />
- <ClCompile Include="VideoCommon\UberShaderCommon.cpp" />
- <ClCompile Include="VideoCommon\UberShaderPixel.cpp" />
- <ClCompile Include="VideoCommon\UberShaderVertex.cpp" />
- <ClCompile Include="VideoCommon\VertexLoader_Color.cpp" />
- <ClCompile Include="VideoCommon\VertexLoader_Normal.cpp" />
- <ClCompile Include="VideoCommon\VertexLoader_Position.cpp" />
- <ClCompile Include="VideoCommon\VertexLoader_TextCoord.cpp" />
- <ClCompile Include="VideoCommon\VertexLoader.cpp" />
- <ClCompile Include="VideoCommon\VertexLoaderBase.cpp" />
- <ClCompile Include="VideoCommon\VertexLoaderManager.cpp" />
- <ClCompile Include="VideoCommon\VertexManagerBase.cpp" />
- <ClCompile Include="VideoCommon\VertexShaderGen.cpp" />
- <ClCompile Include="VideoCommon\VertexShaderManager.cpp" />
- <ClCompile Include="VideoCommon\VideoBackendBase.cpp" />
- <ClCompile Include="VideoCommon\VideoConfig.cpp" />
- <ClCompile Include="VideoCommon\VideoState.cpp" />
- <ClCompile Include="VideoCommon\Widescreen.cpp" />
- <ClCompile Include="VideoCommon\XFMemory.cpp" />
- <ClCompile Include="VideoCommon\XFStateManager.cpp" />
- <ClCompile Include="VideoCommon\XFStructs.cpp" />
- </ItemGroup>
- <ItemGroup>
- <Natvis Include="Common\BitField.natvis" />
- <Natvis Include="Common\EnumMap.natvis" />
- </ItemGroup>
-</Project>
diff --git a/Source/Core/DolphinLib.vcxproj b/Source/Core/DolphinLib.vcxproj
deleted file mode 100644
index 104b2d86ed..0000000000
--- a/Source/Core/DolphinLib.vcxproj
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <Import Project="..\VSProps\Base.Macros.props" />
- <Import Project="$(VSPropsDir)Base.Targets.props" />
- <PropertyGroup Label="Globals">
- <ProjectGuid>{d79392f7-06d6-4b4b-a39f-4d587c215d3a}</ProjectGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <Import Project="$(VSPropsDir)Configuration.StaticLibrary.props" />
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings" />
- <ImportGroup Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="$(VSPropsDir)Base.props" />
- <Import Project="$(VSPropsDir)Base.Dolphin.props" />
- <Import Project="$(VSPropsDir)PCHUse.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <Import Project="DolphinLib.props" />
- <ImportGroup Condition="'$(Platform)'=='x64'">
- <Import Project="DolphinLib.x64.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Platform)'=='ARM64'">
- <Import Project="DolphinLib.ARM64.props" />
- </ImportGroup>
- <ItemGroup>
- <ProjectReference Include="$(CoreDir)Common\SCMRevGen.vcxproj">
- <Project>{41279555-f94f-4ebc-99de-af863c10c5c4}</Project>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(ExternalsDir)Bochs_disasm\exports.props" />
- <Import Project="$(ExternalsDir)bzip2\exports.props" />
- <Import Project="$(ExternalsDir)cpp-ipc\exports.props" />
- <Import Project="$(ExternalsDir)cpp-optparse\exports.props" />
- <Import Project="$(ExternalsDir)cubeb\exports.props" />
- <Import Project="$(ExternalsDir)curl\exports.props" />
- <Import Project="$(ExternalsDir)discord-rpc\exports.props" />
- <Import Project="$(ExternalsDir)ed25519\exports.props" />
- <Import Project="$(ExternalsDir)enet\exports.props" />
- <Import Project="$(ExternalsDir)FatFs\exports.props" />
- <Import Project="$(ExternalsDir)fmt\exports.props" />
- <Import Project="$(ExternalsDir)FreeSurround\exports.props" />
- <Import Project="$(ExternalsDir)glslang\exports.props" />
- <Import Project="$(ExternalsDir)imgui\exports.props" />
- <Import Project="$(ExternalsDir)implot\exports.props" />
- <Import Project="$(ExternalsDir)liblzma\exports.props" />
- <Import Project="$(ExternalsDir)libspng\exports.props" />
- <Import Project="$(ExternalsDir)libusb\exports.props" />
- <Import Project="$(ExternalsDir)LZO\exports.props" />
- <Import Project="$(ExternalsDir)LZ4\exports.props" />
- <Import Project="$(ExternalsDir)mbedtls\exports.props" />
- <Import Project="$(ExternalsDir)mGBA\exports.props" />
- <Import Project="$(ExternalsDir)miniupnpc\exports.props" />
- <Import Project="$(ExternalsDir)minizip-ng\exports.props" />
- <Import Project="$(ExternalsDir)picojson\exports.props" />
- <Import Project="$(ExternalsDir)pugixml\exports.props" />
- <Import Project="$(ExternalsDir)rcheevos\exports.props" />
- <Import Project="$(ExternalsDir)SDL\exports.props" />
- <Import Project="$(ExternalsDir)SFML\exports.props" />
- <Import Project="$(ExternalsDir)spirv_cross\exports.props" />
- <Import Project="$(ExternalsDir)tinygltf\exports.props" />
- <Import Project="$(ExternalsDir)xxhash\exports.props" />
- <Import Project="$(ExternalsDir)zlib-ng\exports.props" />
- <Import Project="$(ExternalsDir)zstd\exports.props" />
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets" />
- <PropertyGroup>
- <BuildInfoTemplate>Common\build_info.txt.in</BuildInfoTemplate>
- <BuildInfoOutput>$(BinaryOutputDir)build_info.txt</BuildInfoOutput>
- </PropertyGroup>
- <ItemGroup>
- <Text Include="$(BuildInfoTemplate)" />
- </ItemGroup>
- <UsingTask TaskName="GetProductVersion"
- TaskFactory="CodeTaskFactory"
- AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll">
- <ParameterGroup>
- <Path ParameterType="System.String" Required="true" />
- <ProductVersion ParameterType="System.String" Output="true" />
- </ParameterGroup>
- <Task>
- <Using Namespace="System.Diagnostics"/>
- <Code Type="Fragment" Language="cs">
- <![CDATA[
- ProductVersion = FileVersionInfo.GetVersionInfo(Path).ProductVersion;
- ]]>
- </Code>
- </Task>
- </UsingTask>
- <Target Name="WriteBuildInfo" AfterTargets="Build" Inputs="$(BuildInfoTemplate)" Outputs="$(BuildInfoOutput)">
- <GetProductVersion Path="$(VCToolsRedistInstallDir)vc_redist.x64.exe">
- <Output PropertyName="VCToolsProductVersion" TaskParameter="ProductVersion" />
- </GetProductVersion>
- <Message Text="VCToolsProductVersion $(VCToolsProductVersion)" Importance="High" />
- <WriteLinesToFile
- File="$(BuildInfoOutput)"
- Lines="$([System.IO.File]::ReadAllText($(BuildInfoTemplate)).Replace('${VC_TOOLS_VERSION}', $(VCToolsProductVersion)))"
- Overwrite="true"
- />
- </Target>
-</Project> \ No newline at end of file
diff --git a/Source/Core/DolphinLib.vcxproj.user b/Source/Core/DolphinLib.vcxproj.user
deleted file mode 100644
index 0f3d711228..0000000000
--- a/Source/Core/DolphinLib.vcxproj.user
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <ShowAllFiles>true</ShowAllFiles>
- </PropertyGroup>
-</Project> \ No newline at end of file
diff --git a/Source/Core/DolphinLib.x64.props b/Source/Core/DolphinLib.x64.props
deleted file mode 100644
index fc9bb3fa65..0000000000
--- a/Source/Core/DolphinLib.x64.props
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <ItemGroup>
- <ClInclude Include="Common\x64ABI.h" />
- <ClInclude Include="Common\x64Emitter.h" />
- <ClInclude Include="Common\x64Reg.h" />
- <ClInclude Include="Core\DSP\Jit\x64\DSPEmitter.h" />
- <ClInclude Include="Core\DSP\Jit\x64\DSPJitRegCache.h" />
- <ClInclude Include="Core\DSP\Jit\x64\DSPJitTables.h" />
- <ClInclude Include="Core\PowerPC\Jit64\Jit.h" />
- <ClInclude Include="Core\PowerPC\Jit64\JitAsm.h" />
- <ClInclude Include="Core\PowerPC\Jit64\RegCache\CachedReg.h" />
- <ClInclude Include="Core\PowerPC\Jit64\RegCache\FPURegCache.h" />
- <ClInclude Include="Core\PowerPC\Jit64\RegCache\GPRRegCache.h" />
- <ClInclude Include="Core\PowerPC\Jit64\RegCache\JitRegCache.h" />
- <ClInclude Include="Core\PowerPC\Jit64\RegCache\RCMode.h" />
- <ClInclude Include="Core\PowerPC\Jit64Common\BlockCache.h" />
- <ClInclude Include="Core\PowerPC\Jit64Common\ConstantPool.h" />
- <ClInclude Include="Core\PowerPC\Jit64Common\EmuCodeBlock.h" />
- <ClInclude Include="Core\PowerPC\Jit64Common\FarCodeCache.h" />
- <ClInclude Include="Core\PowerPC\Jit64Common\Jit64AsmCommon.h" />
- <ClInclude Include="Core\PowerPC\Jit64Common\Jit64Constants.h" />
- <ClInclude Include="Core\PowerPC\Jit64Common\Jit64PowerPCState.h" />
- <ClInclude Include="Core\PowerPC\Jit64Common\TrampolineCache.h" />
- <ClInclude Include="Core\PowerPC\Jit64Common\TrampolineInfo.h" />
- <ClInclude Include="VideoCommon\VertexLoaderX64.h" />
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="Common\x64ABI.cpp" />
- <ClCompile Include="Common\x64CPUDetect.cpp" />
- <ClCompile Include="Common\x64Emitter.cpp" />
- <ClCompile Include="Common\x64FPURoundMode.cpp" />
- <ClCompile Include="Core\DSP\Jit\x64\DSPEmitter.cpp" />
- <ClCompile Include="Core\DSP\Jit\x64\DSPJitArithmetic.cpp" />
- <ClCompile Include="Core\DSP\Jit\x64\DSPJitBranch.cpp" />
- <ClCompile Include="Core\DSP\Jit\x64\DSPJitCCUtil.cpp" />
- <ClCompile Include="Core\DSP\Jit\x64\DSPJitExtOps.cpp" />
- <ClCompile Include="Core\DSP\Jit\x64\DSPJitLoadStore.cpp" />
- <ClCompile Include="Core\DSP\Jit\x64\DSPJitMisc.cpp" />
- <ClCompile Include="Core\DSP\Jit\x64\DSPJitMultiplier.cpp" />
- <ClCompile Include="Core\DSP\Jit\x64\DSPJitRegCache.cpp" />
- <ClCompile Include="Core\DSP\Jit\x64\DSPJitTables.cpp" />
- <ClCompile Include="Core\DSP\Jit\x64\DSPJitUtil.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64\Jit_Branch.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64\Jit_FloatingPoint.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64\Jit_Integer.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64\Jit_LoadStore.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64\Jit_LoadStoreFloating.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64\Jit_LoadStorePaired.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64\Jit_Paired.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64\Jit_SystemRegisters.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64\Jit.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64\Jit64_Tables.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64\JitAsm.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64\RegCache\FPURegCache.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64\RegCache\GPRRegCache.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64\RegCache\JitRegCache.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64Common\BlockCache.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64Common\ConstantPool.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64Common\EmuCodeBlock.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64Common\FarCodeCache.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64Common\Jit64AsmCommon.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64Common\TrampolineCache.cpp" />
- <ClCompile Include="VideoCommon\TextureDecoder_x64.cpp" />
- <ClCompile Include="VideoCommon\VertexLoaderX64.cpp" />
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/Source/Core/DolphinNoGUI/CMakeLists.txt b/Source/Core/DolphinNoGUI/CMakeLists.txt
index 9dad1b5f86..51c3fff708 100644
--- a/Source/Core/DolphinNoGUI/CMakeLists.txt
+++ b/Source/Core/DolphinNoGUI/CMakeLists.txt
@@ -65,5 +65,6 @@ if(USE_DISCORD_PRESENCE)
endif()
set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} dolphin-nogui)
-install(TARGETS dolphin-nogui RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-
+if (NOT WIN32)
+ install(TARGETS dolphin-nogui RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+endif()
diff --git a/Source/Core/DolphinNoGUI/DolphinNoGUI.vcxproj b/Source/Core/DolphinNoGUI/DolphinNoGUI.vcxproj
deleted file mode 100644
index 7c11dac0dd..0000000000
--- a/Source/Core/DolphinNoGUI/DolphinNoGUI.vcxproj
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <Import Project="..\..\VSProps\Base.Macros.props" />
- <Import Project="$(VSPropsDir)Base.Targets.props" />
- <PropertyGroup Label="Globals">
- <ProjectGuid>{974E563D-23F8-4E8F-9083-F62876B04E08}</ProjectGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <Import Project="$(VSPropsDir)Configuration.Application.props" />
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings" />
- <ImportGroup Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="$(VSPropsDir)Base.props" />
- <Import Project="$(VSPropsDir)Base.Dolphin.props" />
- <Import Project="$(VSPropsDir)PCHUse.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup>
- <Link>
- <SubSystem>Console</SubSystem>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ProjectReference Include="$(CoreDir)DolphinLib.vcxproj">
- <Project>{D79392F7-06D6-4B4B-A39F-4D587C215D3A}</Project>
- </ProjectReference>
- <ProjectReference Include="$(CoreDir)Common\SCMRevGen.vcxproj">
- <Project>{41279555-f94f-4ebc-99de-af863c10c5c4}</Project>
- </ProjectReference>
- <ProjectReference Include="$(DolphinRootDir)Languages\Languages.vcxproj">
- <Project>{0e033be3-2e08-428e-9ae9-bc673efa12b5}</Project>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(ExternalsDir)cpp-optparse\exports.props" />
- <Import Project="$(ExternalsDir)fmt\exports.props" />
- <Import Project="$(ExternalsDir)glslang\exports.props" />
- <ItemGroup>
- <ClCompile Include="MainNoGUI.cpp" />
- <ClCompile Include="Platform.cpp" />
- <ClCompile Include="PlatformHeadless.cpp" />
- <ClCompile Include="PlatformWin32.cpp" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
- <!--Copy the .exe to binary output folder-->
- <ItemGroup>
- <SourceFiles Include="$(TargetPath)" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="Platform.h" />
- </ItemGroup>
- <ItemGroup>
- <Manifest Include="DolphinNoGUI.exe.manifest" />
- </ItemGroup>
- <ItemGroup>
- <Text Include="CMakeLists.txt" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="DolphinNoGUI.rc" />
- </ItemGroup>
- <Target Name="AfterBuild" Inputs="@(SourceFiles)" Outputs="@(SourceFiles -> '$(BinaryOutputDir)%(Filename)%(Extension)')">
- <Message Text="Copy: @(SourceFiles) -&gt; $(BinaryOutputDir)" Importance="High" />
- <Copy SourceFiles="@(SourceFiles)" DestinationFolder="$(BinaryOutputDir)" />
- </Target>
-</Project>
diff --git a/Source/Core/DolphinNoGUI/DolphinNoGUI.vcxproj.filters b/Source/Core/DolphinNoGUI/DolphinNoGUI.vcxproj.filters
deleted file mode 100644
index 91e0dceb56..0000000000
--- a/Source/Core/DolphinNoGUI/DolphinNoGUI.vcxproj.filters
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <ItemGroup>
- <ClCompile Include="Platform.cpp" />
- <ClCompile Include="PlatformHeadless.cpp" />
- <ClCompile Include="MainNoGUI.cpp" />
- <ClCompile Include="PlatformWin32.cpp" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="Platform.h" />
- </ItemGroup>
- <ItemGroup>
- <Manifest Include="DolphinNoGUI.exe.manifest" />
- </ItemGroup>
- <ItemGroup>
- <Text Include="CMakeLists.txt" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="DolphinNoGUI.rc" />
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/Source/Core/DolphinQt/CMakeLists.txt b/Source/Core/DolphinQt/CMakeLists.txt
index f4ba46d2f9..2e02eda5c3 100644
--- a/Source/Core/DolphinQt/CMakeLists.txt
+++ b/Source/Core/DolphinQt/CMakeLists.txt
@@ -495,43 +495,58 @@ if (MSVC)
target_compile_options(dolphin-emu PRIVATE "/GR")
endif()
-if(WIN32)
- target_sources(dolphin-emu PRIVATE DolphinQt.manifest DolphinQt.rc)
-
- set_target_properties(dolphin-emu PROPERTIES
- DEBUG_POSTFIX D
- OUTPUT_NAME Dolphin
- WIN32_EXECUTABLE TRUE
- )
-
- # Copy Sys dir
+if (NOT APPLE AND NOT ANDROID)
+ # Symlink Sys
add_custom_command(TARGET dolphin-emu POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E remove_directory "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Sys"
- COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_SOURCE_DIR}/Data/Sys" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Sys"
+ COMMAND ${CMAKE_COMMAND}
+ -Dtarget="${CMAKE_SOURCE_DIR}/Data/Sys"
+ -Dlink="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Sys"
+ -P="${CMAKE_SOURCE_DIR}/CMake/DolphinSymlinkOrCopy.cmake"
)
- # Copy COPYING
+ # Symlink COPYING
add_custom_command(TARGET dolphin-emu POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/COPYING" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/COPYING"
+ COMMAND ${CMAKE_COMMAND}
+ -Dtarget="${CMAKE_SOURCE_DIR}/COPYING"
+ -Dlink="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/COPYING"
+ -P="${CMAKE_SOURCE_DIR}/CMake/DolphinSymlinkOrCopy.cmake"
)
- # Copy Licenses dir
+ # Symlink Licenses dir
add_custom_command(TARGET dolphin-emu POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_SOURCE_DIR}/LICENSES" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Licenses"
+ COMMAND ${CMAKE_COMMAND}
+ -Dtarget="${CMAKE_SOURCE_DIR}/LICENSES"
+ -Dlink="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Licenses"
+ -P="${CMAKE_SOURCE_DIR}/CMake/DolphinSymlinkOrCopy.cmake"
)
-
- # Copy qt.conf
+endif()
+if (WIN32)
+ # Symlink qt.conf
add_custom_command(TARGET dolphin-emu POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/qt.conf.win" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/qt.conf"
+ COMMAND ${CMAKE_COMMAND}
+ -Dtarget="${CMAKE_CURRENT_SOURCE_DIR}/qt.conf.win"
+ -Dlink="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/qt.conf"
+ -P="${CMAKE_SOURCE_DIR}/CMake/DolphinSymlinkOrCopy.cmake"
)
if (ENABLE_AUTOUPDATE)
- # Copy build_info.txt
+ # Symlink build_info.txt
add_custom_command(TARGET dolphin-emu POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_BINARY_DIR}/build_info.txt" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/build_info.txt"
+ COMMAND ${CMAKE_COMMAND}
+ -Dtarget="${CMAKE_BINARY_DIR}/build_info.txt"
+ -Dlink="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/build_info.txt"
+ -P="${CMAKE_SOURCE_DIR}/CMake/DolphinSymlinkOrCopy.cmake"
)
endif()
+
+ target_sources(dolphin-emu PRIVATE DolphinQt.manifest DolphinQt.rc)
+
+ set_target_properties(dolphin-emu PROPERTIES
+ DEBUG_POSTFIX D
+ OUTPUT_NAME Dolphin
+ WIN32_EXECUTABLE TRUE
+ )
# Delegate to Qt's official deployment binary on Windows to copy over the necessary Qt-specific libraries, etc.
get_target_property(MOC_EXECUTABLE_LOCATION Qt6::moc IMPORTED_LOCATION)
get_filename_component(QT_BINARY_DIRECTORY "${MOC_EXECUTABLE_LOCATION}" DIRECTORY)
@@ -582,13 +597,9 @@ if(GETTEXT_MSGFMT_EXECUTABLE)
foreach(po ${LINGUAS})
get_filename_component(lang ${po} NAME_WE)
- if(WIN32)
- set(mo_dir ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Languages)
- set(mo ${mo_dir}/${lang}.mo)
- else()
- set(mo_dir ${CMAKE_CURRENT_BINARY_DIR}/${lang})
- set(mo ${mo_dir}/dolphin-emu.mo)
- endif()
+
+ set(mo_dir ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Languages/${lang})
+ set(mo ${mo_dir}/dolphin-emu.mo)
target_sources(dolphin-emu PRIVATE ${mo})
source_group("Localization\\\\Generated" FILES ${mo})
@@ -599,20 +610,11 @@ if(GETTEXT_MSGFMT_EXECUTABLE)
install(FILES ${mo} DESTINATION share/locale/${lang}/LC_MESSAGES)
endif()
- if(WIN32)
- add_custom_command(OUTPUT ${mo}
- COMMAND ${CMAKE_COMMAND} -E make_directory ${mo_dir}
- COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${mo} ${po}
- DEPENDS ${po}
- )
- else()
- add_custom_command(OUTPUT ${mo}
- COMMAND ${CMAKE_COMMAND} -E make_directory ${mo_dir}
- COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --quiet --update --backup=none ${po} ${pot_file}
- COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${mo} ${po}
- DEPENDS ${po}
- )
- endif()
+ add_custom_command(OUTPUT ${mo}
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${mo_dir}
+ COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${mo} ${po}
+ DEPENDS ${po}
+ )
endforeach()
endif()
@@ -699,7 +701,7 @@ if(APPLE)
"$<TARGET_BUNDLE_DIR:dolphin-emu>"
)
endif()
-else()
+elseif (NOT WIN32)
install(TARGETS dolphin-emu RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
endif()
diff --git a/Source/Core/DolphinQt/DolphinQt.vcxproj b/Source/Core/DolphinQt/DolphinQt.vcxproj
deleted file mode 100644
index dc2c53727b..0000000000
--- a/Source/Core/DolphinQt/DolphinQt.vcxproj
+++ /dev/null
@@ -1,534 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <Import Project="..\..\VSProps\Base.Macros.props" />
- <Import Project="$(VSPropsDir)Base.Targets.props" />
- <PropertyGroup Label="Globals">
- <ProjectGuid>{FA3FA62B-6F58-4B86-9453-4D149940A066}</ProjectGuid>
- <ProjectName>Dolphin</ProjectName>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <Import Project="$(VSPropsDir)Configuration.Application.props" />
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings" />
- <ImportGroup Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="$(VSPropsDir)Base.props" />
- <Import Project="$(VSPropsDir)Base.Dolphin.props" />
- <Import Project="$(VSPropsDir)QtCompile.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup>
- <ClCompile>
- <AdditionalIncludeDirectories>$(ProjectDir)Config\Graphics;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories>$(ProjectDir)Config;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories>$(ProjectDir)Config\ControllerInterface;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories>$(ProjectDir)Config\Mapping;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories>$(ProjectDir)Debugger;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories>$(ProjectDir)FIFO;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories>$(ProjectDir)GameList;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories>$(ProjectDir)NetPlay;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories>$(ProjectDir)QtUtils;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories>$(ProjectDir)Settings;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories>$(ProjectDir)TAS;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories>$(ProjectDir)VideoInterface;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <!--Qt 6.3.0 headers use std::aligned_storage instead of alignas-->
- <PreprocessorDefinitions>_SILENCE_CXX23_ALIGNED_STORAGE_DEPRECATION_WARNING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <!--Jump through some hoops to generate a pch file local to this project-->
- <AdditionalIncludeDirectories>$(SourceDir)PCH;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PrecompiledHeader>Use</PrecompiledHeader>
- <PrecompiledHeaderFile>pch_qt.h</PrecompiledHeaderFile>
- <ForcedIncludeFiles>pch_qt.h</ForcedIncludeFiles>
- </ClCompile>
- <Manifest>
- <AdditionalManifestFiles>DolphinQt.manifest;%(AdditionalManifestFiles)</AdditionalManifestFiles>
- </Manifest>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="AboutDialog.cpp" />
- <ClCompile Include="CheatSearchFactoryWidget.cpp" />
- <ClCompile Include="CheatSearchWidget.cpp" />
- <ClCompile Include="CheatsManager.cpp" />
- <ClCompile Include="Achievements\AchievementBox.cpp" />
- <ClCompile Include="Achievements\AchievementHeaderWidget.cpp" />
- <ClCompile Include="Achievements\AchievementLeaderboardWidget.cpp" />
- <ClCompile Include="Achievements\AchievementProgressWidget.cpp" />
- <ClCompile Include="Achievements\AchievementSettingsWidget.cpp" />
- <ClCompile Include="Achievements\AchievementsWindow.cpp" />
- <ClCompile Include="Config\ARCodeWidget.cpp" />
- <ClCompile Include="Config\CheatCodeEditor.cpp" />
- <ClCompile Include="Config\CheatWarningWidget.cpp" />
- <ClCompile Include="Config\CommonControllersWidget.cpp" />
- <ClCompile Include="Config\ConfigControls\ConfigBool.cpp" />
- <ClCompile Include="Config\ConfigControls\ConfigChoice.cpp" />
- <ClCompile Include="Config\ConfigControls\ConfigInteger.cpp" />
- <ClCompile Include="Config\ConfigControls\ConfigRadio.cpp" />
- <ClCompile Include="Config\ConfigControls\ConfigFloatSlider.cpp" />
- <ClCompile Include="Config\ConfigControls\ConfigSlider.cpp" />
- <ClCompile Include="Config\ConfigControls\ConfigText.cpp" />
- <ClCompile Include="Config\ConfigControls\ConfigUserPath.cpp" />
- <ClCompile Include="Config\ControllerInterface\ControllerInterfaceWindow.cpp" />
- <ClCompile Include="Config\SDLHints\SDLHintsWindow.cpp" />
- <ClCompile Include="Config\ControllerInterface\DualShockUDPClientEditServerDialog.cpp" />
- <ClCompile Include="Config\ControllerInterface\DualShockUDPClientWidget.cpp" />
- <ClCompile Include="Config\ControllerInterface\DualShockUDPSettings.cpp" />
- <ClCompile Include="Config\ControllerInterface\ServerStringValidator.cpp" />
- <ClCompile Include="Config\ControllersPane.cpp" />
- <ClCompile Include="Config\FilesystemWidget.cpp" />
- <ClCompile Include="Config\FreeLookWidget.cpp" />
- <ClCompile Include="Config\FreeLookWindow.cpp" />
- <ClCompile Include="Config\GameConfigEdit.cpp" />
- <ClCompile Include="Config\GameConfigHighlighter.cpp" />
- <ClCompile Include="Config\GameConfigWidget.cpp" />
- <ClCompile Include="Config\GamecubeControllersWidget.cpp" />
- <ClCompile Include="Config\GeckoCodeWidget.cpp" />
- <ClCompile Include="Config\Graphics\AdvancedWidget.cpp" />
- <ClCompile Include="Config\Graphics\EnhancementsWidget.cpp" />
- <ClCompile Include="Config\Graphics\GeneralWidget.cpp" />
- <ClCompile Include="Config\Graphics\GraphicsPane.cpp" />
- <ClCompile Include="Config\Graphics\HacksWidget.cpp" />
- <ClCompile Include="Config\Graphics\ColorCorrectionConfigWindow.cpp" />
- <ClCompile Include="Config\Graphics\PostProcessingConfigWindow.cpp" />
- <ClCompile Include="Config\GraphicsModListWidget.cpp" />
- <ClCompile Include="Config\GraphicsModWarningWidget.cpp" />
- <ClCompile Include="Config\HardcoreWarningWidget.cpp" />
- <ClCompile Include="Config\InfoWidget.cpp" />
- <ClCompile Include="Config\LogConfigWidget.cpp" />
- <ClCompile Include="Config\LogWidget.cpp" />
- <ClCompile Include="Config\Mapping\FreeLookGeneral.cpp" />
- <ClCompile Include="Config\Mapping\FreeLookRotation.cpp" />
- <ClCompile Include="Config\Mapping\GBAPadEmu.cpp" />
- <ClCompile Include="Config\Mapping\GCKeyboardEmu.cpp" />
- <ClCompile Include="Config\Mapping\GCMicrophone.cpp" />
- <ClCompile Include="Config\Mapping\GCPadEmu.cpp" />
- <ClCompile Include="Config\Mapping\GCPadWiiUConfigDialog.cpp" />
- <ClCompile Include="Config\Mapping\Hotkey3D.cpp" />
- <ClCompile Include="Config\Mapping\HotkeyControllerProfile.cpp" />
- <ClCompile Include="Config\Mapping\HotkeyDebugging.cpp" />
- <ClCompile Include="Config\Mapping\HotkeyGBA.cpp" />
- <ClCompile Include="Config\Mapping\HotkeyGeneral.cpp" />
- <ClCompile Include="Config\Mapping\HotkeyGraphics.cpp" />
- <ClCompile Include="Config\Mapping\HotkeyStates.cpp" />
- <ClCompile Include="Config\Mapping\HotkeyStatesOther.cpp" />
- <ClCompile Include="Config\Mapping\HotkeyTAS.cpp" />
- <ClCompile Include="Config\Mapping\HotkeyUSBEmu.cpp" />
- <ClCompile Include="Config\Mapping\HotkeyWii.cpp" />
- <ClCompile Include="Config\Mapping\IOWindow.cpp" />
- <ClCompile Include="Config\Mapping\MappingButton.cpp" />
- <ClCompile Include="Config\Mapping\MappingCommon.cpp" />
- <ClCompile Include="Config\Mapping\MappingIndicator.cpp" />
- <ClCompile Include="Config\Mapping\MappingNumeric.cpp" />
- <ClCompile Include="Config\Mapping\MappingWidget.cpp" />
- <ClCompile Include="Config\Mapping\MappingWindow.cpp" />
- <ClCompile Include="Config\Mapping\WiimoteEmuExtension.cpp" />
- <ClCompile Include="Config\Mapping\WiimoteEmuExtensionMotionInput.cpp" />
- <ClCompile Include="Config\Mapping\WiimoteEmuExtensionMotionSimulation.cpp" />
- <ClCompile Include="Config\Mapping\WiimoteEmuGeneral.cpp" />
- <ClCompile Include="Config\Mapping\WiimoteEmuMotionControl.cpp" />
- <ClCompile Include="Config\Mapping\WiimoteEmuMotionControlIMU.cpp" />
- <ClCompile Include="Config\NewPatchDialog.cpp" />
- <ClCompile Include="Config\PatchesWidget.cpp" />
- <ClCompile Include="Config\PropertiesDialog.cpp" />
- <ClCompile Include="Config\SettingsWindow.cpp" />
- <ClCompile Include="Config\ToolTipControls\BalloonTip.cpp" />
- <ClCompile Include="Config\ToolTipControls\ToolTipCheckBox.cpp" />
- <ClCompile Include="Config\ToolTipControls\ToolTipComboBox.cpp" />
- <ClCompile Include="Config\ToolTipControls\ToolTipPushButton.cpp" />
- <ClCompile Include="Config\ToolTipControls\ToolTipRadioButton.cpp" />
- <ClCompile Include="Config\ToolTipControls\ToolTipSlider.cpp" />
- <ClCompile Include="Config\ToolTipControls\ToolTipSpinBox.cpp" />
- <ClCompile Include="Config\VerifyWidget.cpp" />
- <ClCompile Include="Config\WiimoteControllersWidget.cpp" />
- <ClCompile Include="ConvertDialog.cpp" />
- <ClCompile Include="Debugger\AssembleInstructionDialog.cpp" />
- <ClCompile Include="Debugger\AssemblerWidget.cpp" />
- <ClCompile Include="Debugger\AssemblyEditor.cpp" />
- <ClCompile Include="Debugger\BranchWatchDialog.cpp" />
- <ClCompile Include="Debugger\BranchWatchTableModel.cpp" />
- <ClCompile Include="Debugger\BreakpointDialog.cpp" />
- <ClCompile Include="Debugger\BreakpointWidget.cpp" />
- <ClCompile Include="Debugger\CodeViewWidget.cpp" />
- <ClCompile Include="Debugger\CodeWidget.cpp" />
- <ClCompile Include="Debugger\EditSymbolDialog.cpp" />
- <ClCompile Include="Debugger\GekkoSyntaxHighlight.cpp" />
- <ClCompile Include="Debugger\JitBlockTableModel.cpp" />
- <ClCompile Include="Debugger\JITWidget.cpp" />
- <ClCompile Include="Debugger\MemoryViewWidget.cpp" />
- <ClCompile Include="Debugger\MemoryWidget.cpp" />
- <ClCompile Include="Debugger\NetworkWidget.cpp" />
- <ClCompile Include="Debugger\PatchInstructionDialog.cpp" />
- <ClCompile Include="Debugger\RegisterColumn.cpp" />
- <ClCompile Include="Debugger\RegisterWidget.cpp" />
- <ClCompile Include="Debugger\ThreadWidget.cpp" />
- <ClCompile Include="Debugger\WatchWidget.cpp" />
- <ClCompile Include="DiscordHandler.cpp" />
- <ClCompile Include="DiscordJoinRequestDialog.cpp" />
- <ClCompile Include="EmulatedUSB\LogitechMicWindow.cpp" />
- <ClCompile Include="EmulatedUSB\WiiSpeakWindow.cpp" />
- <ClCompile Include="FIFO\FIFOAnalyzer.cpp" />
- <ClCompile Include="FIFO\FIFOPlayerWindow.cpp" />
- <ClCompile Include="GameCount.cpp" />
- <ClCompile Include="GameList\GameList.cpp" />
- <ClCompile Include="GameList\GameListModel.cpp" />
- <ClCompile Include="GameList\GameTracker.cpp" />
- <ClCompile Include="GameList\GridProxyModel.cpp" />
- <ClCompile Include="GameList\ListProxyModel.cpp" />
- <ClCompile Include="GBAHost.cpp" />
- <ClCompile Include="GBAWidget.cpp" />
- <ClCompile Include="GCMemcardCreateNewDialog.cpp" />
- <ClCompile Include="GCMemcardManager.cpp" />
- <ClCompile Include="Host.cpp" />
- <ClCompile Include="HotkeyScheduler.cpp" />
- <ClCompile Include="InfinityBase/InfinityBaseWindow.cpp" />
- <ClCompile Include="Main.cpp" />
- <ClCompile Include="MainWindow.cpp" />
- <ClCompile Include="MenuBar.cpp" />
- <ClCompile Include="NetPlay\ChunkedProgressDialog.cpp" />
- <ClCompile Include="NetPlay\GameDigestDialog.cpp" />
- <ClCompile Include="NetPlay\GameListDialog.cpp" />
- <ClCompile Include="NetPlay\ClickBlurLabel.cpp" />
- <ClCompile Include="NetPlay\NetPlayBrowser.cpp" />
- <ClCompile Include="NetPlay\NetPlayDialog.cpp" />
- <ClCompile Include="NetPlay\NetPlaySetupDialog.cpp" />
- <ClCompile Include="NetPlay\PadMappingDialog.cpp" />
- <ClCompile Include="NANDRepairDialog.cpp" />
- <ClCompile Include="NKitWarningDialog.cpp" />
- <ClCompile Include="pch_qt.cpp">
- <PrecompiledHeader>Create</PrecompiledHeader>
- </ClCompile>
- <ClCompile Include="QtUtils\AnalyticsPrompt.cpp" />
- <ClCompile Include="QtUtils\AspectRatioWidget.cpp" />
- <ClCompile Include="QtUtils\BlockUserInputFilter.cpp" />
- <ClCompile Include="QtUtils\ClearLayoutRecursively.cpp" />
- <ClCompile Include="QtUtils\DolphinFileDialog.cpp" />
- <ClCompile Include="QtUtils\DoubleClickEventFilter.cpp" />
- <ClCompile Include="QtUtils\ElidedButton.cpp" />
- <ClCompile Include="QtUtils\FileOpenEventFilter.cpp" />
- <ClCompile Include="QtUtils\ImageConverter.cpp" />
- <ClCompile Include="QtUtils\ModalMessageBox.cpp" />
- <ClCompile Include="QtUtils\NonAutodismissibleMenu.cpp" />
- <ClCompile Include="QtUtils\NonDefaultQPushButton.cpp" />
- <ClCompile Include="QtUtils\PartiallyClosableTabWidget.cpp" />
- <ClCompile Include="QtUtils\QtUtils.cpp" />
- <ClCompile Include="QtUtils\SetWindowDecorations.cpp" />
- <ClCompile Include="QtUtils\UTF8CodePointCountValidator.cpp" />
- <ClCompile Include="QtUtils\WindowActivationEventFilter.cpp" />
- <ClCompile Include="QtUtils\WrapInScrollArea.cpp" />
- <ClCompile Include="RenderWidget.cpp" />
- <ClCompile Include="ResourcePackManager.cpp" />
- <ClCompile Include="Resources.cpp" />
- <ClCompile Include="RiivolutionBootWidget.cpp" />
- <ClCompile Include="SearchBar.cpp" />
- <ClCompile Include="Settings.cpp" />
- <ClCompile Include="Settings\AdvancedPane.cpp" />
- <ClCompile Include="Settings\AudioPane.cpp" />
- <ClCompile Include="Settings\BroadbandAdapterSettingsDialog.cpp" />
- <ClCompile Include="Settings\GameCubePane.cpp" />
- <ClCompile Include="Settings\GeneralPane.cpp" />
- <ClCompile Include="Settings\InterfacePane.cpp" />
- <ClCompile Include="Settings\OnScreenDisplayPane.cpp" />
- <ClCompile Include="Settings\TriforcePane.cpp" />
- <ClCompile Include="Settings\PathPane.cpp" />
- <ClCompile Include="Settings\USBDevicePicker.cpp" />
- <ClCompile Include="Settings\WiiPane.cpp" />
- <ClCompile Include="SkylanderPortal\SkylanderModifyDialog.cpp" />
- <ClCompile Include="SkylanderPortal\SkylanderPortalWindow.cpp" />
- <ClCompile Include="TAS\GCTASInputWindow.cpp" />
- <ClCompile Include="TAS\GBATASInputWindow.cpp" />
- <ClCompile Include="TAS\IRWidget.cpp" />
- <ClCompile Include="TAS\StickWidget.cpp" />
- <ClCompile Include="TAS\TASCheckBox.cpp" />
- <ClCompile Include="TAS\TASInputWindow.cpp" />
- <ClCompile Include="TAS\TASControlState.cpp" />
- <ClCompile Include="TAS\TASSlider.cpp" />
- <ClCompile Include="TAS\TASSpinBox.cpp" />
- <ClCompile Include="TAS\WiiTASInputWindow.cpp" />
- <ClCompile Include="ToolBar.cpp" />
- <ClCompile Include="Translation.cpp" />
- <ClCompile Include="Updater.cpp" />
- <ClCompile Include="WiiUpdate.cpp" />
- </ItemGroup>
- <!--
- Put C/C++ headers here. If moc needs to be run for the file (only needed if
- Q_OBJECT is used in the file), set the item type to QtMoc. This list can
- also be modified using the VS UI.
- -->
- <ItemGroup>
- <ClInclude Include="Config\CheatCodeEditor.h" />
- <ClInclude Include="Config\ConfigControls\ConfigControl.h" />
- <ClInclude Include="Config\GameConfigEdit.h" />
- <ClInclude Include="Config\Mapping\MappingCommon.h" />
- <QtMoc Include="Config\Mapping\MappingIndicator.h" />
- <ClInclude Include="Config\Mapping\MappingNumeric.h" />
- <ClInclude Include="Config\NewPatchDialog.h" />
- <QtMoc Include="Config\PatchesWidget.h" />
- <ClInclude Include="Debugger\RegisterColumn.h" />
- <ClInclude Include="GBAHost.h" />
- <ClInclude Include="QtUtils\ActionHelper.h" />
- <ClInclude Include="QtUtils\ClearLayoutRecursively.h" />
- <QtMoc Include="QtUtils\ClickableStatusBar.h" />
- <ClInclude Include="QtUtils\DolphinFileDialog.h" />
- <ClInclude Include="QtUtils\ImageConverter.h" />
- <ClInclude Include="QtUtils\ModalMessageBox.h" />
- <ClInclude Include="QtUtils\NonAutodismissibleMenu.h" />
- <ClInclude Include="QtUtils\NonDefaultQPushButton.h" />
- <ClInclude Include="QtUtils\QueueOnObject.h" />
- <ClInclude Include="QtUtils\RunOnObject.h" />
- <ClInclude Include="QtUtils\SignalBlocking.h" />
- <ClInclude Include="QtUtils\WrapInScrollArea.h" />
- <ClInclude Include="ResourcePackManager.h" />
- <ClInclude Include="Resources.h" />
- <ClInclude Include="Settings\OnScreenDisplayPane.h" />
- <ClInclude Include="SkylanderPortal\SkylanderModifyDialog.h" />
- <ClInclude Include="TAS\TASControlState.h" />
- <ClInclude Include="TAS\TASSlider.h" />
- <ClInclude Include="Translation.h" />
- <ClInclude Include="WiiUpdate.h" />
- <QtMoc Include="AboutDialog.h" />
- <QtMoc Include="CheatSearchFactoryWidget.h" />
- <QtMoc Include="CheatSearchWidget.h" />
- <QtMoc Include="CheatsManager.h" />
- <QtMoc Include="Achievements\AchievementBox.h" />
- <QtMoc Include="Achievements\AchievementHeaderWidget.h" />
- <QtMoc Include="Achievements\AchievementLeaderboardWidget.h" />
- <QtMoc Include="Achievements\AchievementProgressWidget.h" />
- <QtMoc Include="Achievements\AchievementSettingsWidget.h" />
- <QtMoc Include="Achievements\AchievementsWindow.h" />
- <QtMoc Include="Config\ARCodeWidget.h" />
- <QtMoc Include="Config\CheatWarningWidget.h" />
- <QtMoc Include="Config\CommonControllersWidget.h" />
- <QtMoc Include="Config\ConfigControls\ConfigBool.h" />
- <QtMoc Include="Config\ConfigControls\ConfigChoice.h" />
- <QtMoc Include="Config\ConfigControls\ConfigInteger.h" />
- <QtMoc Include="Config\ConfigControls\ConfigRadio.h" />
- <QtMoc Include="Config\ConfigControls\ConfigFloatSlider.h" />
- <QtMoc Include="Config\ConfigControls\ConfigSlider.h" />
- <QtMoc Include="Config\ConfigControls\ConfigText.h" />
- <QtMoc Include="Config\ConfigControls\ConfigUserPath.h" />
- <QtMoc Include="Config\ControllerInterface\ControllerInterfaceWindow.h" />
- <QtMoc Include="Config\SDLHints\SDLHintsWindow.h" />
- <QtMoc Include="Config\ControllerInterface\DualShockUDPClientEditServerDialog.h" />
- <QtMoc Include="Config\ControllerInterface\DualShockUDPClientWidget.h" />
- <QtMoc Include="Config\ControllerInterface\DualShockUDPSettings.h" />
- <QtMoc Include="Config\ControllerInterface\ServerStringValidator.h" />
- <QtMoc Include="Config\ControllersPane.h" />
- <QtMoc Include="Config\FilesystemWidget.h" />
- <QtMoc Include="Config\FreeLookWidget.h" />
- <QtMoc Include="Config\FreeLookWindow.h" />
- <QtMoc Include="Config\GamecubeControllersWidget.h" />
- <QtMoc Include="Config\GameConfigHighlighter.h" />
- <QtMoc Include="Config\GameConfigWidget.h" />
- <QtMoc Include="Config\GeckoCodeWidget.h" />
- <QtMoc Include="Config\Graphics\AdvancedWidget.h" />
- <QtMoc Include="Config\Graphics\EnhancementsWidget.h" />
- <QtMoc Include="Config\Graphics\GeneralWidget.h" />
- <QtMoc Include="Config\Graphics\GraphicsPane.h" />
- <QtMoc Include="Config\Graphics\HacksWidget.h" />
- <QtMoc Include="Config\Graphics\ColorCorrectionConfigWindow.h" />
- <QtMoc Include="Config\Graphics\PostProcessingConfigWindow.h" />
- <QtMoc Include="Config\GraphicsModListWidget.h" />
- <QtMoc Include="Config\GraphicsModWarningWidget.h" />
- <QtMoc Include="Config\HardcoreWarningWidget.h" />
- <QtMoc Include="Config\InfoWidget.h" />
- <QtMoc Include="Config\LogConfigWidget.h" />
- <QtMoc Include="Config\LogWidget.h" />
- <QtMoc Include="Config\Mapping\FreeLookGeneral.h" />
- <QtMoc Include="Config\Mapping\FreeLookRotation.h" />
- <QtMoc Include="Config\Mapping\GBAPadEmu.h" />
- <QtMoc Include="Config\Mapping\GCKeyboardEmu.h" />
- <QtMoc Include="Config\Mapping\GCMicrophone.h" />
- <QtMoc Include="Config\Mapping\GCPadEmu.h" />
- <QtMoc Include="Config\Mapping\GCPadWiiUConfigDialog.h" />
- <QtMoc Include="Config\Mapping\Hotkey3D.h" />
- <QtMoc Include="Config\Mapping\HotkeyControllerProfile.h" />
- <QtMoc Include="Config\Mapping\HotkeyDebugging.h" />
- <QtMoc Include="Config\Mapping\HotkeyGBA.h" />
- <QtMoc Include="Config\Mapping\HotkeyGeneral.h" />
- <QtMoc Include="Config\Mapping\HotkeyGraphics.h" />
- <QtMoc Include="Config\Mapping\HotkeyStates.h" />
- <QtMoc Include="Config\Mapping\HotkeyStatesOther.h" />
- <QtMoc Include="Config\Mapping\HotkeyTAS.h" />
- <QtMoc Include="Config\Mapping\HotkeyUSBEmu.h" />
- <QtMoc Include="Config\Mapping\HotkeyWii.h" />
- <QtMoc Include="Config\Mapping\IOWindow.h" />
- <QtMoc Include="Config\Mapping\MappingButton.h" />
- <QtMoc Include="Config\Mapping\MappingWidget.h" />
- <QtMoc Include="Config\Mapping\MappingWindow.h" />
- <QtMoc Include="Config\Mapping\WiimoteEmuExtension.h" />
- <QtMoc Include="Config\Mapping\WiimoteEmuExtensionMotionInput.h" />
- <QtMoc Include="Config\Mapping\WiimoteEmuExtensionMotionSimulation.h" />
- <QtMoc Include="Config\Mapping\WiimoteEmuGeneral.h" />
- <QtMoc Include="Config\Mapping\WiimoteEmuMotionControl.h" />
- <QtMoc Include="Config\Mapping\WiimoteEmuMotionControlIMU.h" />
- <QtMoc Include="Config\PropertiesDialog.h" />
- <QtMoc Include="Config\SettingsWindow.h" />
- <QtMoc Include="Config\ToolTipControls\BalloonTip.h" />
- <ClInclude Include="Config\ToolTipControls\ToolTipCheckBox.h" />
- <ClInclude Include="Config\ToolTipControls\ToolTipComboBox.h" />
- <ClInclude Include="Config\ToolTipControls\ToolTipPushButton.h" />
- <ClInclude Include="Config\ToolTipControls\ToolTipRadioButton.h" />
- <ClInclude Include="Config\ToolTipControls\ToolTipSlider.h" />
- <ClInclude Include="Config\ToolTipControls\ToolTipSpinBox.h" />
- <ClInclude Include="Config\ToolTipControls\ToolTipWidget.h" />
- <QtMoc Include="Config\VerifyWidget.h" />
- <QtMoc Include="Config\WiimoteControllersWidget.h" />
- <QtMoc Include="ConvertDialog.h" />
- <QtMoc Include="Debugger\AssembleInstructionDialog.h" />
- <QtMoc Include="Debugger\AssemblerWidget.h" />
- <QtMoc Include="Debugger\AssemblyEditor.h" />
- <QtMoc Include="Debugger\BranchWatchDialog.h" />
- <QtMoc Include="Debugger\BranchWatchTableModel.h" />
- <QtMoc Include="Debugger\BreakpointDialog.h" />
- <QtMoc Include="Debugger\BreakpointWidget.h" />
- <QtMoc Include="Debugger\CodeViewWidget.h" />
- <QtMoc Include="Debugger\CodeWidget.h" />
- <QtMoc Include="Debugger\EditSymbolDialog.h" />
- <QtMoc Include="Debugger\GekkoSyntaxHighlight.h" />
- <QtMoc Include="Debugger\JitBlockTableModel.h" />
- <QtMoc Include="Debugger\JITWidget.h" />
- <QtMoc Include="Debugger\MemoryViewWidget.h" />
- <QtMoc Include="Debugger\MemoryWidget.h" />
- <QtMoc Include="Debugger\NetworkWidget.h" />
- <QtMoc Include="Debugger\PatchInstructionDialog.h" />
- <QtMoc Include="Debugger\RegisterWidget.h" />
- <QtMoc Include="Debugger\ThreadWidget.h" />
- <QtMoc Include="Debugger\WatchWidget.h" />
- <QtMoc Include="DiscordHandler.h" />
- <QtMoc Include="DiscordJoinRequestDialog.h" />
- <QtMoc Include="EmulatedUSB\LogitechMicWindow.h" />
- <QtMoc Include="EmulatedUSB\WiiSpeakWindow.h" />
- <QtMoc Include="FIFO\FIFOAnalyzer.h" />
- <QtMoc Include="FIFO\FIFOPlayerWindow.h" />
- <QtMoc Include="GameCount.h" />
- <QtMoc Include="GameList\GameList.h" />
- <QtMoc Include="GameList\GameListModel.h" />
- <QtMoc Include="GameList\GameTracker.h" />
- <QtMoc Include="GameList\GridProxyModel.h" />
- <QtMoc Include="GameList\ListProxyModel.h" />
- <QtMoc Include="GBAWidget.h" />
- <QtMoc Include="GCMemcardCreateNewDialog.h" />
- <QtMoc Include="GCMemcardManager.h" />
- <QtMoc Include="Host.h" />
- <QtMoc Include="HotkeyScheduler.h" />
- <QtMoc Include="InfinityBase/InfinityBaseWindow.h" />
- <QtMoc Include="MainWindow.h" />
- <QtMoc Include="MenuBar.h" />
- <QtMoc Include="NetPlay\ChunkedProgressDialog.h" />
- <QtMoc Include="NetPlay\GameDigestDialog.h" />
- <QtMoc Include="NetPlay\GameListDialog.h" />
- <QtMoc Include="NetPlay\ClickBlurLabel.h" />
- <QtMoc Include="NetPlay\NetPlayBrowser.h" />
- <QtMoc Include="NetPlay\NetPlayDialog.h" />
- <QtMoc Include="NetPlay\NetPlaySetupDialog.h" />
- <QtMoc Include="NetPlay\PadMappingDialog.h" />
- <QtMoc Include="NANDRepairDialog.h" />
- <QtMoc Include="NKitWarningDialog.h" />
- <QtMoc Include="QtUtils\AnalyticsPrompt.h" />
- <QtMoc Include="QtUtils\AspectRatioWidget.h" />
- <QtMoc Include="QtUtils\BlockUserInputFilter.h" />
- <QtMoc Include="QtUtils\DoubleClickEventFilter.h" />
- <QtMoc Include="QtUtils\ElidedButton.h" />
- <QtMoc Include="QtUtils\FileOpenEventFilter.h" />
- <ClInclude Include="QtUtils\FromStdString.h" />
- <QtMoc Include="QtUtils\ParallelProgressDialog.h" />
- <QtMoc Include="QtUtils\PartiallyClosableTabWidget.h" />
- <ClInclude Include="QtUtils\QtUtils.h" />
- <ClInclude Include="QtUtils\SetWindowDecorations.h" />
- <QtMoc Include="QtUtils\UTF8CodePointCountValidator.h" />
- <QtMoc Include="QtUtils\WindowActivationEventFilter.h" />
- <QtMoc Include="RenderWidget.h" />
- <QtMoc Include="RiivolutionBootWidget.h" />
- <QtMoc Include="SearchBar.h" />
- <QtMoc Include="Settings.h" />
- <QtMoc Include="Settings\AdvancedPane.h" />
- <QtMoc Include="Settings\AudioPane.h" />
- <QtMoc Include="Settings\BroadbandAdapterSettingsDialog.h" />
- <QtMoc Include="Settings\GameCubePane.h" />
- <QtMoc Include="Settings\GeneralPane.h" />
- <QtMoc Include="Settings\InterfacePane.h" />
- <QtMoc Include="Settings\PathPane.h" />
- <QtMoc Include="Settings\TriforcePane.h" />
- <QtMoc Include="Settings\USBDevicePicker.h" />
- <QtMoc Include="Settings\WiiPane.h" />
- <QtMoc Include="SkylanderPortal\SkylanderPortalWindow.h" />
- <QtMoc Include="TAS\GCTASInputWindow.h" />
- <QtMoc Include="TAS\GBATASInputWindow.h" />
- <QtMoc Include="TAS\IRWidget.h" />
- <QtMoc Include="TAS\StickWidget.h" />
- <QtMoc Include="TAS\TASCheckBox.h" />
- <QtMoc Include="TAS\TASInputWindow.h" />
- <QtMoc Include="TAS\TASSpinBox.h" />
- <QtMoc Include="TAS\WiiTASInputWindow.h" />
- <QtMoc Include="ToolBar.h" />
- <QtMoc Include="Updater.h" />
- </ItemGroup>
- <ItemGroup>
- <Text Include="CMakeLists.txt" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="DolphinQt.rc" />
- </ItemGroup>
- <ItemGroup>
- <Natvis Include="qt6.natvis" />
- </ItemGroup>
- <ItemGroup>
- <Text Include="Styles\Dark\dark.qss" />
- <QtRcc Include="Styles\Dark\dark.qrc" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="$(CoreDir)DolphinLib.vcxproj">
- <Project>{D79392F7-06D6-4B4B-A39F-4D587C215D3A}</Project>
- </ProjectReference>
- <ProjectReference Include="$(CoreDir)Common\SCMRevGen.vcxproj">
- <Project>{41279555-f94f-4ebc-99de-af863c10c5c4}</Project>
- </ProjectReference>
- <ProjectReference Include="$(DolphinRootDir)Languages\Languages.vcxproj">
- <Project>{0e033be3-2e08-428e-9ae9-bc673efa12b5}</Project>
- </ProjectReference>
- <!--
- This project uses its own PCH during compile (because RTTI setting differs),
- but we must also link the "main" pch for the dependants (DolphinLib)
- -->
- <ProjectReference Include="$(SourceDir)PCH\pch.vcxproj">
- <Project>{76563A7F-1011-4EAD-B667-7BB18D09568E}</Project>
- <Private>false</Private>
- <LinkLibraryDependencies>true</LinkLibraryDependencies>
- <UseLibraryDependencyInputs>true</UseLibraryDependencyInputs>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(ExternalsDir)bzip2\exports.props" />
- <Import Project="$(ExternalsDir)cpp-optparse\exports.props" />
- <Import Project="$(ExternalsDir)discord-rpc\exports.props" />
- <Import Project="$(ExternalsDir)enet\exports.props" />
- <Import Project="$(ExternalsDir)fmt\exports.props" />
- <Import Project="$(ExternalsDir)glslang\exports.props" />
- <Import Project="$(ExternalsDir)imgui\exports.props" />
- <Import Project="$(ExternalsDir)implot\exports.props" />
- <Import Project="$(ExternalsDir)liblzma\exports.props" />
- <Import Project="$(ExternalsDir)mbedtls\exports.props" />
- <Import Project="$(ExternalsDir)mGBA\exports.props" />
- <Import Project="$(ExternalsDir)picojson\exports.props" />
- <Import Project="$(ExternalsDir)rcheevos\exports.props" />
- <Import Project="$(ExternalsDir)SFML\exports.props" />
- <Import Project="$(ExternalsDir)xxhash\exports.props" />
- <Import Project="$(ExternalsDir)zstd\exports.props" />
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets" />
- <!--Copy Exe, Data directory and DLLs which should be located in the executable directory-->
- <ItemGroup>
- <DataSysFiles Include="$(DolphinRootDir)Data\**\Sys\**\*.*" />
- <DataTxtFiles Include="$(DolphinRootDir)\COPYING" />
- <DataLicenseFiles Include="$(DolphinRootDir)\LICENSES\*.*" />
- <BinaryFiles Include="$(TargetPath)" />
- <AllInputFiles Include="@(DataSysFiles);@(DataTxtFiles);@(DataLicenseFiles);@(BinaryFiles)" />
- </ItemGroup>
- <Target Name="AfterBuild" Inputs="@(AllInputFiles)" Outputs="@(AllInputFiles -> '$(BinaryOutputDir)%(RecursiveDir)%(Filename)%(Extension)')">
- <Message Text="Copying Data directory..." Importance="High" />
- <RemoveDir Directories="$(BinaryOutputDir)Sys" />
- <Copy SourceFiles="@(DataSysFiles)" DestinationFolder="$(BinaryOutputDir)%(RecursiveDir)" SkipUnchangedFiles="True" />
- <Copy SourceFiles="@(DataTxtFiles)" DestinationFolder="$(BinaryOutputDir)" SkipUnchangedFiles="True" />
- <RemoveDir Directories="$(BinaryOutputDir)LICENSES" />
- <Copy SourceFiles="@(DataLicenseFiles)" DestinationFolder="$(BinaryOutputDir)LICENSES" SkipUnchangedFiles="True" />
- <Message Text="Copy: @(BinaryFiles) -&gt; $(BinaryOutputDir)" Importance="High" />
- <Copy SourceFiles="@(BinaryFiles)" DestinationFolder="$(BinaryOutputDir)" />
- </Target>
-</Project>
diff --git a/Source/Core/DolphinQt/DolphinQt.vcxproj.user b/Source/Core/DolphinQt/DolphinQt.vcxproj.user
deleted file mode 100644
index 22760f9a5b..0000000000
--- a/Source/Core/DolphinQt/DolphinQt.vcxproj.user
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <LocalDebuggerCommand>$(BinaryOutputDir)$(TargetFileName)</LocalDebuggerCommand>
- <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
- <ShowAllFiles>true</ShowAllFiles>
- </PropertyGroup>
-</Project> \ No newline at end of file
diff --git a/Source/Core/DolphinQt/Translation.cpp b/Source/Core/DolphinQt/Translation.cpp
index 1b93536ac9..8e4339cb2b 100644
--- a/Source/Core/DolphinQt/Translation.cpp
+++ b/Source/Core/DolphinQt/Translation.cpp
@@ -274,18 +274,17 @@ static bool TryInstallTranslator(const QString& exact_language_code)
for (const auto& qlang : FindPossibleLanguageCodes(exact_language_code))
{
std::string lang = qlang.toStdString();
- auto filename =
-#if defined _WIN32
- fmt::format("{}/Languages/{}.mo", File::GetExeDirectory(), lang)
-#elif defined __APPLE__
- fmt::format("{}/Contents/Resources/{}.lproj/dolphin-emu.mo", File::GetBundleDirectory(),
- lang)
-#elif defined LINUX_LOCAL_DEV
- fmt::format("{}/../Source/Core/DolphinQt/{}/dolphin-emu.mo", File::GetExeDirectory(), lang)
+ std::string filename;
+#if defined __APPLE__
+ filename = fmt::format("{}/Contents/Resources/{}.lproj/dolphin-emu.mo",
+ File::GetBundleDirectory(), lang);
#else
- fmt::format("{}/../locale/{}/LC_MESSAGES/dolphin-emu.mo", DATA_DIR, lang)
+ filename = fmt::format("{}/Languages/{}/dolphin-emu.mo", File::GetExeDirectory(), lang);
+#ifndef _WIN32
+ if (!File::Exists(filename))
+ filename = fmt::format("{}/../locale/{}/LC_MESSAGES/dolphin-emu.mo", DATA_DIR, lang);
+#endif
#endif
- ;
auto* translator = new MoTranslator(QApplication::instance());
if (translator->load(filename))
diff --git a/Source/Core/DolphinTool/CMakeLists.txt b/Source/Core/DolphinTool/CMakeLists.txt
index 562ba1dc0a..cbc15fe85f 100644
--- a/Source/Core/DolphinTool/CMakeLists.txt
+++ b/Source/Core/DolphinTool/CMakeLists.txt
@@ -34,4 +34,6 @@ if(MSVC)
endif()
set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} dolphin-tool)
-install(TARGETS dolphin-tool RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+if (NOT WIN32)
+ install(TARGETS dolphin-tool RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+endif()
diff --git a/Source/Core/DolphinTool/DolphinTool.vcxproj b/Source/Core/DolphinTool/DolphinTool.vcxproj
deleted file mode 100644
index 79e1264b38..0000000000
--- a/Source/Core/DolphinTool/DolphinTool.vcxproj
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <Import Project="..\..\VSProps\Base.Macros.props" />
- <Import Project="$(VSPropsDir)Base.Targets.props" />
- <PropertyGroup Label="Globals">
- <ProjectGuid>{8F91523C-5C5E-4B22-A1F1-67560B6DC714}</ProjectGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <Import Project="$(VSPropsDir)Configuration.Application.props" />
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings" />
- <ImportGroup Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="$(VSPropsDir)Base.props" />
- <Import Project="$(VSPropsDir)Base.Dolphin.props" />
- <Import Project="$(VSPropsDir)PCHUse.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <ItemGroup>
- <ProjectReference Include="$(CoreDir)DolphinLib.vcxproj">
- <Project>{D79392F7-06D6-4B4B-A39F-4D587C215D3A}</Project>
- </ProjectReference>
- <ProjectReference Include="$(CoreDir)Common\SCMRevGen.vcxproj">
- <Project>{41279555-f94f-4ebc-99de-af863c10c5c4}</Project>
- </ProjectReference>
- <ProjectReference Include="$(DolphinRootDir)Languages\Languages.vcxproj">
- <Project>{0e033be3-2e08-428e-9ae9-bc673efa12b5}</Project>
- </ProjectReference>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="ConvertCommand.cpp" />
- <ClCompile Include="VerifyCommand.cpp" />
- <ClCompile Include="ExtractCommand.cpp" />
- <ClCompile Include="HeaderCommand.cpp" />
- <ClCompile Include="ToolHeadlessPlatform.cpp" />
- <ClCompile Include="ToolMain.cpp" />
- </ItemGroup>
- <Import Project="$(ExternalsDir)bzip2\exports.props" />
- <Import Project="$(ExternalsDir)cpp-optparse\exports.props" />
- <Import Project="$(ExternalsDir)fmt\exports.props" />
- <Import Project="$(ExternalsDir)glslang\exports.props" />
- <Import Project="$(ExternalsDir)liblzma\exports.props" />
- <Import Project="$(ExternalsDir)mbedtls\exports.props" />
- <Import Project="$(ExternalsDir)picojson\exports.props" />
- <Import Project="$(ExternalsDir)rcheevos\exports.props" />
- <Import Project="$(ExternalsDir)zstd\exports.props" />
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
- <!--Copy the .exe to binary output folder-->
- <ItemGroup>
- <SourceFiles Include="$(TargetPath)" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="ConvertCommand.h" />
- <ClInclude Include="VerifyCommand.h" />
- <ClInclude Include="HeaderCommand.h" />
- <ClInclude Include="ExtractCommand.h" />
- </ItemGroup>
- <ItemGroup>
- <Manifest Include="DolphinTool.exe.manifest" />
- </ItemGroup>
- <ItemGroup>
- <Text Include="CMakeLists.txt" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="DolphinTool.rc" />
- </ItemGroup>
- <Target Name="AfterBuild" Inputs="@(SourceFiles)" Outputs="@(SourceFiles -> '$(BinaryOutputDir)%(Filename)%(Extension)')">
- <Message Text="Copy: @(SourceFiles) -&gt; $(BinaryOutputDir)" Importance="High" />
- <Copy SourceFiles="@(SourceFiles)" DestinationFolder="$(BinaryOutputDir)" />
- </Target>
-</Project>
diff --git a/Source/Core/WinUpdater/WinUpdater.vcxproj b/Source/Core/WinUpdater/WinUpdater.vcxproj
deleted file mode 100644
index 28ae61bb34..0000000000
--- a/Source/Core/WinUpdater/WinUpdater.vcxproj
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <Import Project="..\..\VSProps\Base.Macros.props" />
- <Import Project="$(VSPropsDir)Base.Targets.props" />
- <PropertyGroup Label="Globals">
- <ProjectGuid>{E4BECBAB-9C6E-41AB-BB56-F9D70AB6BE03}</ProjectGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <Import Project="$(VSPropsDir)Configuration.Application.props" />
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings" />
- <ImportGroup Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="$(VSPropsDir)Base.props" />
- <Import Project="$(VSPropsDir)Base.Dolphin.props" />
- <Import Project="$(VSPropsDir)PCHUse.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName>Updater</TargetName>
- </PropertyGroup>
- <ItemGroup>
- <ProjectReference Include="$(CoreDir)DolphinLib.vcxproj">
- <Project>{D79392F7-06D6-4B4B-A39F-4D587C215D3A}</Project>
- </ProjectReference>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\UpdaterCommon\Platform.h" />
- <ClInclude Include="..\UpdaterCommon\UI.h" />
- <ClInclude Include="..\UpdaterCommon\UpdaterCommon.h" />
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="..\UpdaterCommon\UpdaterCommon.cpp" />
- <ClCompile Include="Main.cpp" />
- <ClCompile Include="Platform.cpp" />
- <ClCompile Include="WinUI.cpp" />
- </ItemGroup>
- <Import Project="$(ExternalsDir)cpp-optparse\exports.props" />
- <Import Project="$(ExternalsDir)curl\exports.props" />
- <Import Project="$(ExternalsDir)ed25519\exports.props" />
- <Import Project="$(ExternalsDir)fmt\exports.props" />
- <Import Project="$(ExternalsDir)mbedtls\exports.props" />
- <Import Project="$(ExternalsDir)zlib-ng\exports.props" />
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
- <!--Copy the .exe to binary output folder-->
- <ItemGroup>
- <SourceFiles Include="$(TargetPath)" />
- </ItemGroup>
- <ItemGroup>
- <Manifest Include="Updater.exe.manifest" />
- </ItemGroup>
- <Target Name="AfterBuild" Inputs="@(SourceFiles)" Outputs="@(SourceFiles -> '$(BinaryOutputDir)%(Filename)%(Extension)')">
- <Message Text="Copy: @(SourceFiles) -&gt; $(BinaryOutputDir)" Importance="High" />
- <Copy SourceFiles="@(SourceFiles)" DestinationFolder="$(BinaryOutputDir)" />
- </Target>
-</Project> \ No newline at end of file
diff --git a/Source/Core/WinUpdater/WinUpdater.vcxproj.filters b/Source/Core/WinUpdater/WinUpdater.vcxproj.filters
deleted file mode 100644
index d26f8a82cf..0000000000
--- a/Source/Core/WinUpdater/WinUpdater.vcxproj.filters
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <ItemGroup>
- <ClCompile Include="Main.cpp" />
- <ClCompile Include="WinUI.cpp" />
- </ItemGroup>
- <ItemGroup>
- <Manifest Include="Updater.exe.manifest" />
- </ItemGroup>
-</Project>
diff --git a/Source/DSPSpy/DSPSpy.vcxproj b/Source/DSPSpy/DSPSpy.vcxproj
deleted file mode 100644
index f3eb4620b5..0000000000
--- a/Source/DSPSpy/DSPSpy.vcxproj
+++ /dev/null
@@ -1,180 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="GC|Win32">
- <Configuration>GC</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="GC|x64">
- <Configuration>GC</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Wii|Win32">
- <Configuration>Wii</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Wii|x64">
- <Configuration>Wii</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{3877AA3E-9CC0-4ADF-8E71-272EE4443478}</ProjectGuid>
- <RootNamespace>DSPSpy</RootNamespace>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='GC|Win32'" Label="Configuration">
- <ConfigurationType>Makefile</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Wii|Win32'" Label="Configuration">
- <ConfigurationType>Makefile</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='GC|x64'" Label="Configuration">
- <ConfigurationType>Makefile</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Wii|x64'" Label="Configuration">
- <ConfigurationType>Makefile</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='GC|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Wii|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='GC|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Wii|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Wii|Win32'">build\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Wii|Win32'">build\</IntDir>
- <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Wii|Win32'">..\..\Binary\$(Platform)\DSPTool.exe -h dsp_code tests\dsp_test.ds
-make
-</NMakeBuildCommandLine>
- <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Wii|Win32'">make clean
-..\..\Binary\$(Platform)\DSPTool.exe -h dsp_code tests\dsp_code.ds
-make</NMakeReBuildCommandLine>
- <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Wii|Win32'">make clean</NMakeCleanCommandLine>
- <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Wii|Win32'">DSPSpy.dol</NMakeOutput>
- <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Wii|Win32'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
- <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Wii|Win32'">$(ProjectDir);C:\devkitPro\libogc\include;$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>
- <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Wii|Win32'">$(NMakeForcedIncludes)</NMakeForcedIncludes>
- <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Wii|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
- <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Wii|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Wii|x64'">build\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Wii|x64'">build\</IntDir>
- <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Wii|x64'">..\..\Binary\$(Platform)\DSPTool.exe -h dsp_code tests\dsp_test.ds
-make
-</NMakeBuildCommandLine>
- <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Wii|x64'">make clean
-..\..\Binary\$(Platform)\DSPTool.exe -h dsp_code tests\dsp_code.ds
-make</NMakeReBuildCommandLine>
- <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Wii|x64'">make clean</NMakeCleanCommandLine>
- <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Wii|x64'">DSPSpy.dol</NMakeOutput>
- <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Wii|x64'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
- <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Wii|x64'">$(ProjectDir);C:\devkitPro\libogc\include;$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>
- <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Wii|x64'">$(NMakeForcedIncludes)</NMakeForcedIncludes>
- <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Wii|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
- <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Wii|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='GC|Win32'">build\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='GC|Win32'">build\</IntDir>
- <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='GC|Win32'">..\..\Binary\$(Platform)\DSPTool.exe -h dsp_code tests\dsp_test.ds
-make HW_TYPE=gamecube</NMakeBuildCommandLine>
- <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='GC|Win32'">make HW_TYPE=gamecube clean
-..\..\Binary\$(Platform)\DSPTool.exe -h dsp_code tests\dsp_code.ds
-make HW_TYPE=gamecube</NMakeReBuildCommandLine>
- <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='GC|Win32'">make HW_TYPE=gamecube clean</NMakeCleanCommandLine>
- <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='GC|Win32'">DSPSpyGC.dol</NMakeOutput>
- <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='GC|Win32'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
- <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='GC|Win32'">$(ProjectDir);C:\devkitPro\libogc\include;$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>
- <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='GC|Win32'">$(NMakeForcedIncludes)</NMakeForcedIncludes>
- <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='GC|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
- <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='GC|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='GC|x64'">build\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='GC|x64'">build\</IntDir>
- <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='GC|x64'">..\..\Binary\$(Platform)\DSPTool.exe -h dsp_code tests\dsp_test.ds
-make HW_TYPE=gamecube</NMakeBuildCommandLine>
- <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='GC|x64'">make HW_TYPE=gamecube clean
-..\..\Binary\$(Platform)\DSPTool.exe -h dsp_code tests\dsp_code.ds
-make HW_TYPE=gamecube</NMakeReBuildCommandLine>
- <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='GC|x64'">make HW_TYPE=gamecube clean</NMakeCleanCommandLine>
- <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='GC|x64'">DSPSpyGC.dol</NMakeOutput>
- <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='GC|x64'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
- <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='GC|x64'">$(ProjectDir);C:\devkitPro\libogc\include;$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath>
- <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='GC|x64'">$(NMakeForcedIncludes)</NMakeForcedIncludes>
- <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='GC|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
- <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='GC|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Wii|Win32'">
- <BuildLog>
- <Path>build\BuildLog.htm</Path>
- </BuildLog>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Wii|x64'">
- <BuildLog>
- <Path>build\BuildLog.htm</Path>
- </BuildLog>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='GC|Win32'">
- <BuildLog>
- <Path>build\BuildLogGC.htm</Path>
- </BuildLog>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='GC|x64'">
- <BuildLog>
- <Path>build\BuildLogGC.htm</Path>
- </BuildLog>
- </ItemDefinitionGroup>
- <ItemGroup>
- <None Include="tests\arith_test.ds" />
- <None Include="tests\dr_test.ds" />
- <None Include="tests\dsp_base.inc" />
- <None Include="tests\dsp_test.ds" />
- <None Include="tests\ir_test.ds" />
- <None Include="tests\ld_test.ds" />
- <None Include="tests\mul_test.ds" />
- <None Include="tests\neg_test.ds" />
- <None Include="tests\op_test.ds" />
- <None Include="tests\unk_regs_test.ds" />
- <None Include="util\createtest.pl" />
- <None Include="util\dump_roms.ds" />
- <None Include="templates\if_test.tpl" />
- <None Include="templates\tst_test.tpl" />
- <None Include="..\..\docs\DSP\dsp_rom.txt" />
- <None Include="..\..\docs\DSP\unlockmemcard.ds" />
- <None Include="build.sh" />
- <None Include="Makefile" />
- <None Include="sbuild.sh" />
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="dsp_interface.cpp" />
- <ClCompile Include="real_dsp.cpp" />
- <ClCompile Include="main_spy.cpp" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dsp_interface.h" />
- <ClInclude Include="mem_dump.h" />
- <ClInclude Include="real_dsp.h" />
- <ClInclude Include="Config.h" />
- <ClInclude Include="ConsoleHelper.h" />
- <ClInclude Include="dspregs.h" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
diff --git a/Source/DSPSpy/DSPSpy.vcxproj.filters b/Source/DSPSpy/DSPSpy.vcxproj.filters
deleted file mode 100644
index 5e52860f1d..0000000000
--- a/Source/DSPSpy/DSPSpy.vcxproj.filters
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <ItemGroup>
- <Filter Include="tests">
- <UniqueIdentifier>{14442340-8be2-4dcf-93f5-421cce23dd31}</UniqueIdentifier>
- </Filter>
- <Filter Include="util">
- <UniqueIdentifier>{1a60828b-80d9-4b23-8b84-9116bf6e2630}</UniqueIdentifier>
- </Filter>
- <Filter Include="templates">
- <UniqueIdentifier>{ad8f68d7-73a6-4192-b188-125d2bef2a7a}</UniqueIdentifier>
- </Filter>
- <Filter Include="DSP Interface">
- <UniqueIdentifier>{251f77cb-8874-4bf1-bb2a-f7e6b009a0fb}</UniqueIdentifier>
- </Filter>
- <Filter Include="Misc uCodes">
- <UniqueIdentifier>{80668e83-9986-4389-b587-21e9c6734589}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <None Include="tests\arith_test.ds">
- <Filter>tests</Filter>
- </None>
- <None Include="tests\dr_test.ds">
- <Filter>tests</Filter>
- </None>
- <None Include="tests\dsp_base.inc">
- <Filter>tests</Filter>
- </None>
- <None Include="tests\dsp_test.ds">
- <Filter>tests</Filter>
- </None>
- <None Include="tests\ir_test.ds">
- <Filter>tests</Filter>
- </None>
- <None Include="tests\ld_test.ds">
- <Filter>tests</Filter>
- </None>
- <None Include="tests\mul_test.ds">
- <Filter>tests</Filter>
- </None>
- <None Include="tests\neg_test.ds">
- <Filter>tests</Filter>
- </None>
- <None Include="tests\op_test.ds">
- <Filter>tests</Filter>
- </None>
- <None Include="tests\unk_regs_test.ds">
- <Filter>tests</Filter>
- </None>
- <None Include="util\createtest.pl">
- <Filter>util</Filter>
- </None>
- <None Include="util\dump_roms.ds">
- <Filter>util</Filter>
- </None>
- <None Include="templates\if_test.tpl">
- <Filter>templates</Filter>
- </None>
- <None Include="templates\tst_test.tpl">
- <Filter>templates</Filter>
- </None>
- <None Include="..\..\docs\DSP\dsp_rom.txt">
- <Filter>Misc uCodes</Filter>
- </None>
- <None Include="..\..\docs\DSP\unlockmemcard.ds">
- <Filter>Misc uCodes</Filter>
- </None>
- <None Include="build.sh" />
- <None Include="Makefile" />
- <None Include="sbuild.sh" />
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="dsp_interface.cpp">
- <Filter>DSP Interface</Filter>
- </ClCompile>
- <ClCompile Include="real_dsp.cpp">
- <Filter>DSP Interface</Filter>
- </ClCompile>
- <ClCompile Include="main_spy.cpp" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dsp_interface.h">
- <Filter>DSP Interface</Filter>
- </ClInclude>
- <ClInclude Include="mem_dump.h">
- <Filter>DSP Interface</Filter>
- </ClInclude>
- <ClInclude Include="real_dsp.h">
- <Filter>DSP Interface</Filter>
- </ClInclude>
- <ClInclude Include="Config.h" />
- <ClInclude Include="ConsoleHelper.h" />
- <ClInclude Include="dspregs.h" />
- </ItemGroup>
-</Project>
diff --git a/Source/DSPTool/CMakeLists.txt b/Source/DSPTool/CMakeLists.txt
index 7656bc8ce6..fb0cc41bcb 100644
--- a/Source/DSPTool/CMakeLists.txt
+++ b/Source/DSPTool/CMakeLists.txt
@@ -1,5 +1,5 @@
add_executable(dsptool DSPTool.cpp StubHost.cpp)
target_link_libraries(dsptool core)
-if(NOT APPLE)
+if(NOT APPLE AND NOT WIN32)
install(TARGETS dsptool RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
endif()
diff --git a/Source/DSPTool/DSPTool.vcxproj b/Source/DSPTool/DSPTool.vcxproj
deleted file mode 100644
index 3cfb41b5fc..0000000000
--- a/Source/DSPTool/DSPTool.vcxproj
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <Import Project="..\VSProps\Base.Macros.props" />
- <Import Project="$(VSPropsDir)Base.Targets.props" />
- <PropertyGroup Label="Globals">
- <ProjectGuid>{1970D175-3DE8-4738-942A-4D98D1CDBF64}</ProjectGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <Import Project="$(VSPropsDir)Configuration.Application.props" />
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings" />
- <ImportGroup Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="$(VSPropsDir)Base.props" />
- <Import Project="$(VSPropsDir)Base.Dolphin.props" />
- <Import Project="$(VSPropsDir)PCHUse.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup>
- <Link>
- <SubSystem>Console</SubSystem>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="DSPTool.cpp" />
- <ClCompile Include="StubHost.cpp" />
- </ItemGroup>
- <ItemGroup>
- <Text Include="CMakeLists.txt" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="$(CoreDir)DolphinLib.vcxproj">
- <Project>{D79392F7-06D6-4B4B-A39F-4D587C215D3A}</Project>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(ExternalsDir)fmt\exports.props" />
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
- <!--Copy the .exe to binary output folder-->
- <ItemGroup>
- <SourceFiles Include="$(TargetPath)" />
- </ItemGroup>
- <Target Name="AfterBuild" Inputs="@(SourceFiles)" Outputs="@(SourceFiles -> '$(BinaryOutputDir)%(Filename)%(Extension)')">
- <Message Text="Copy: @(SourceFiles) -&gt; $(BinaryOutputDir)" Importance="High" />
- <Copy SourceFiles="@(SourceFiles)" DestinationFolder="$(BinaryOutputDir)" />
- </Target>
-</Project> \ No newline at end of file
diff --git a/Source/DSPTool/DSPTool.vcxproj.filters b/Source/DSPTool/DSPTool.vcxproj.filters
deleted file mode 100644
index d5c714c943..0000000000
--- a/Source/DSPTool/DSPTool.vcxproj.filters
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <ItemGroup>
- <Filter Include="TestData">
- <UniqueIdentifier>{0b70242b-1d98-432f-a60e-d4ca0674852e}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <None Include="Testdata\dsp_test.bin">
- <Filter>TestData</Filter>
- </None>
- <None Include="Testdata\dsp_test.S">
- <Filter>TestData</Filter>
- </None>
- <None Include="Testdata\hermes.bin">
- <Filter>TestData</Filter>
- </None>
- <None Include="Testdata\hermes.s">
- <Filter>TestData</Filter>
- </None>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="DSPTool.cpp" />
- <ClCompile Include="StubHost.cpp" />
- </ItemGroup>
- <ItemGroup>
- <Text Include="CMakeLists.txt" />
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/Source/PCH/pch.vcxproj b/Source/PCH/pch.vcxproj
deleted file mode 100644
index 1ee60c60c0..0000000000
--- a/Source/PCH/pch.vcxproj
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <Import Project="..\VSProps\Base.Macros.props" />
- <Import Project="$(VSPropsDir)Base.Targets.props" />
- <PropertyGroup Label="Globals">
- <ProjectGuid>{76563A7F-1011-4EAD-B667-7BB18D09568E}</ProjectGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <Import Project="$(VSPropsDir)Configuration.StaticLibrary.props" />
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings" />
- <ImportGroup Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="$(VSPropsDir)Base.props" />
- <Import Project="$(VSPropsDir)Base.Dolphin.props" />
- <Import Project="$(VSPropsDir)PCHCreate.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <ItemGroup>
- <ClInclude Include="pch.h" />
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="pch.cpp" />
- </ItemGroup>
- <Import Project="$(ExternalsDir)fmt\exports.props" />
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project> \ No newline at end of file
diff --git a/Source/UnitTests/UnitTests.vcxproj b/Source/UnitTests/UnitTests.vcxproj
deleted file mode 100644
index 0cda54ff88..0000000000
--- a/Source/UnitTests/UnitTests.vcxproj
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <Import Project="..\VSProps\Base.Macros.props" />
- <Import Project="$(VSPropsDir)Base.Targets.props" />
- <PropertyGroup Label="Globals">
- <ProjectGuid>{474661E7-C73A-43A6-AFEE-EE1EC433D49E}</ProjectGuid>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <Import Project="$(VSPropsDir)Configuration.Application.props" />
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings" />
- <ImportGroup Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="$(VSPropsDir)Base.props" />
- <Import Project="$(VSPropsDir)Base.Dolphin.props" />
- <Import Project="$(VSPropsDir)PCHUse.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup>
- <!--This project also compiles gtest-->
- <ClCompile>
- <AdditionalIncludeDirectories>$(ExternalsDir)gtest\googletest\include;$(ExternalsDir)gtest\googletest;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClInclude Include="Core\DSP\DSPTestBinary.h" />
- <ClInclude Include="Core\DSP\DSPTestText.h" />
- <ClInclude Include="Core\DSP\HermesBinary.h" />
- <ClInclude Include="Core\DSP\HermesText.h" />
- <ClInclude Include="Core\IOS\ES\TestBinaryData.h" />
- <ClInclude Include="Core\PowerPC\TestValues.h" />
- <ClInclude Include="Core\StubJit.h" />
- </ItemGroup>
- <ItemGroup>
- <!--gtest is rather small, so just include it into the build here-->
- <ClCompile Include="$(ExternalsDir)gtest\googletest\src\gtest-all.cc" />
- <!--Lump all of the tests (and supporting code) into one binary-->
- <ClCompile Include="UnitTestsMain.cpp" />
- <ClCompile Include="Common\BitFieldTest.cpp" />
- <ClCompile Include="Common\BitSetTest.cpp" />
- <ClCompile Include="Common\BitUtilsTest.cpp" />
- <ClCompile Include="Common\BlockingLoopTest.cpp" />
- <ClCompile Include="Common\BusyLoopTest.cpp" />
- <ClCompile Include="Common\CommonFuncsTest.cpp" />
- <ClCompile Include="Common\Crypto\EcTest.cpp" />
- <ClCompile Include="Common\Crypto\SHA1Test.cpp" />
- <ClCompile Include="Common\CWDemanglerTest.cpp" />
- <ClCompile Include="Common\EnumFormatterTest.cpp" />
- <ClCompile Include="Common\EventTest.cpp" />
- <ClCompile Include="Common\FileUtilTest.cpp" />
- <ClCompile Include="Common\FixedSizeQueueTest.cpp" />
- <ClCompile Include="Common\FlagTest.cpp" />
- <ClCompile Include="Common\FloatUtilsTest.cpp" />
- <ClCompile Include="Common\MathUtilTest.cpp" />
- <ClCompile Include="Common\MutexTest.cpp" />
- <ClCompile Include="Common\NandPathsTest.cpp" />
- <ClCompile Include="Common\SettingsHandlerTest.cpp" />
- <ClCompile Include="Common\SPSCQueueTest.cpp" />
- <ClCompile Include="Common\StringUtilTest.cpp" />
- <ClCompile Include="Common\SwapTest.cpp" />
- <ClCompile Include="Common\WorkQueueThreadTest.cpp" />
- <ClCompile Include="Core\CoreTimingTest.cpp" />
- <ClCompile Include="Core\DSP\DSPAcceleratorTest.cpp" />
- <ClCompile Include="Core\DSP\DSPAssemblyTest.cpp" />
- <ClCompile Include="Core\DSP\DSPTestBinary.cpp" />
- <ClCompile Include="Core\DSP\DSPTestText.cpp" />
- <ClCompile Include="Core\DSP\HermesBinary.cpp" />
- <ClCompile Include="Core\DSP\HermesText.cpp" />
- <ClCompile Include="Core\IOS\ES\FormatsTest.cpp" />
- <ClCompile Include="Core\IOS\FS\FileSystemTest.cpp" />
- <ClCompile Include="Core\IOS\USB\SkylandersTest.cpp" />
- <ClCompile Include="Core\MMIOTest.cpp" />
- <ClCompile Include="Core\PageFaultTest.cpp" />
- <ClCompile Include="Core\PatchAllowlistTest.cpp" />
- <ClCompile Include="Core\PowerPC\DivUtilsTest.cpp" />
- <ClCompile Include="Core\PowerPC\PageTableHostMappingTest.cpp" />
- <ClCompile Include="VideoCommon\VertexLoaderTest.cpp" />
- <ClCompile Include="StubHost.cpp" />
- </ItemGroup>
- <!--Arch-specific tests-->
- <ItemGroup Condition="'$(Platform)'=='x64'">
- <ClCompile Include="Common\x64EmitterTest.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64Common\ConvertDoubleToSingle.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64Common\Fres.cpp" />
- <ClCompile Include="Core\PowerPC\Jit64Common\Frsqrte.cpp" />
- </ItemGroup>
- <ItemGroup Condition="'$(Platform)'=='ARM64'">
- <ClCompile Include="Common\Arm64EmitterTest.cpp" />
- <ClCompile Include="Core\PowerPC\JitArm64\ConvertSingleDouble.cpp" />
- <ClCompile Include="Core\PowerPC\JitArm64\FPRF.cpp" />
- <ClCompile Include="Core\PowerPC\JitArm64\Fres.cpp" />
- <ClCompile Include="Core\PowerPC\JitArm64\Frsqrte.cpp" />
- <ClCompile Include="Core\PowerPC\JitArm64\MovI2R.cpp" />
- </ItemGroup>
- <ItemGroup>
- <Text Include="CMakeLists.txt" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="$(CoreDir)DolphinLib.vcxproj">
- <Project>{D79392F7-06D6-4B4B-A39F-4D587C215D3A}</Project>
- </ProjectReference>
- <ProjectReference Include="$(DolphinRootDir)Languages\Languages.vcxproj">
- <Project>{0e033be3-2e08-428e-9ae9-bc673efa12b5}</Project>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(ExternalsDir)Bochs_disasm\exports.props" />
- <Import Project="$(ExternalsDir)fmt\exports.props" />
- <Import Project="$(ExternalsDir)glslang\exports.props" />
- <Import Project="$(ExternalsDir)picojson\exports.props" />
- <Import Project="$(ExternalsDir)rcheevos\exports.props" />
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
- <ItemGroup>
- <DataSysFiles Include="$(DolphinRootDir)Data\**\Sys\**\*.*" />
- </ItemGroup>
- <Target Name="AfterBuild">
- <Message Text="Copying Data directory..." Importance="High" />
- <RemoveDir Directories="$(TargetDir)Sys" />
- <Copy SourceFiles="@(DataSysFiles)" DestinationFolder="$(TargetDir)%(RecursiveDir)" SkipUnchangedFiles="True" />
- </Target>
- <Target Name="ExecUnitTests" AfterTargets="AfterBuild" Condition="'$(RunUnitTests)'=='true'">
- <!--This is only executed via msbuild, VS test runner automatically does this-->
- <Exec Command="$(TargetPath)" />
- </Target>
-</Project>
diff --git a/Source/UnitTests/UnitTests.vcxproj.user b/Source/UnitTests/UnitTests.vcxproj.user
deleted file mode 100644
index 7747d6682d..0000000000
--- a/Source/UnitTests/UnitTests.vcxproj.user
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <!--For some stupid reason this has to be in the .user file...-->
- <!--This is only used to allow UnitTests to find OpenAL DLL...kinda hacky-->
- <LocalDebuggerWorkingDirectory>$(BinaryOutputDir)</LocalDebuggerWorkingDirectory>
- <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
- </PropertyGroup>
-</Project> \ No newline at end of file
diff --git a/Source/VSProps/Base.Dolphin.props b/Source/VSProps/Base.Dolphin.props
deleted file mode 100644
index 93d58df583..0000000000
--- a/Source/VSProps/Base.Dolphin.props
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <!--This file is included by Dolphin code only-->
- <PropertyGroup>
- <TargetName Condition="'$(ConfigurationType)'=='Application'">$(ProjectName)$(TargetSuffix)</TargetName>
- <EnableCubeb>true</EnableCubeb>
- </PropertyGroup>
- <ItemDefinitionGroup>
- <ClCompile>
- <!--Dolphin includes are relative to Source\Core-->
- <AdditionalIncludeDirectories>$(CoreDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-
- <!--For now, header-only libs don't have their own vcxproj/exports, so just supply their include paths to all Dolphin code-->
- <AdditionalIncludeDirectories>$(ExternalsDir)FFmpeg-bin\$(Platform)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories>$(ExternalsDir)OpenAL\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories>$(ExternalsDir)expr\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories>$(ExternalsDir)Vulkan-Headers\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories>$(ExternalsDir)VulkanMemoryAllocator\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories>$(ExternalsDir)watcher\watcher\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories>$(ExternalsDir)wil\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <!--WIL doesn't have it's own vcxproj/exports, and no externals reference WIL, so this is fine to define only for Dolphin-->
- <PreprocessorDefinitions>WIL_SUPPRESS_EXCEPTIONS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <!--Prevent Windows.h from defining some common stuff-->
- <PreprocessorDefinitions>WIN32_LEAN_AND_MEAN;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-
- <!--
- It would be a good idea to disable _CRT_SECURE_NO_WARNINGS and get rid of e.g. C string parsing funcs
- Unfortunately this also complains about FILE* APIs, which can be inconvenient to replace.
- -->
- <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <!--IOS net code uses some ipv4-only functions which are marked as deprecated by winsock2-->
- <PreprocessorDefinitions>_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <!--Currently needed for some code in StringUtil used only on Android-->
- <PreprocessorDefinitions>_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-
- <!--Dolphin-specific definitions-->
- <PreprocessorDefinitions Condition="'$(Platform)'=='x64'">_ARCH_64=1;_M_X86_64=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PreprocessorDefinitions Condition="'$(Platform)'=='ARM64'">_ARCH_64=1;_M_ARM_64=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PreprocessorDefinitions>USE_UPNP;__LIBUSB__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PreprocessorDefinitions>USE_ANALYTICS=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PreprocessorDefinitions>USE_DISCORD_PRESENCE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PreprocessorDefinitions>HAVE_FFMPEG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PreprocessorDefinitions Condition="'$(Platform)'=='x64'">HAS_OPENGL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PreprocessorDefinitions>HAS_VULKAN;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PreprocessorDefinitions>HAS_LIBMGBA;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PreprocessorDefinitions Condition="'$(AutoUpdate)'!='false'">AUTOUPDATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PreprocessorDefinitions>HAVE_SDL3;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PreprocessorDefinitions>USE_RETRO_ACHIEVEMENTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PreprocessorDefinitions>RC_CLIENT_SUPPORTS_HASH;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PreprocessorDefinitions>RC_CLIENT_SUPPORTS_RAINTEGRATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PreprocessorDefinitions Condition="'$(EnableCubeb)'!='false'">HAVE_CUBEB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PreprocessorDefinitions>HAVE_CPPIPC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-
- <!-- Warnings one may want to ignore when using Level4.
- 4201 nonstandard extension used : nameless struct/union
- 4127 conditional expression is constant
- 4100 'identifier' : unreferenced formal parameter
- 4244 'conversion' conversion from 'type1' to 'type2', possible loss of data
- Level4 warns if type1==int and there is narrowing
- 4121 'symbol' : alignment of a member was sensitive to packing
- 4324 Padding was added at the end of a structure because you specified a __declspec(align) value.
- 4714 function 'function' marked as __forceinline not inlined
- -->
- <DisableSpecificWarnings>4201;4127;4100;4244;4121;4324;4714;%(DisableSpecificWarnings)</DisableSpecificWarnings>
- <!-- Level4 warnings which should eventually be enabled
- 4245 'conversion' : conversion from 'type1' to 'type2', signed/unsigned mismatch
- Currently jits use some annoying code patterns which makes this common
- -->
- <DisableSpecificWarnings>4245;%(DisableSpecificWarnings)</DisableSpecificWarnings>
- <!-- Enable some off-by-default warnings
- 4263 Non-virtual member function hides base class virtual function
- 4265 Class has virtual functions, but destructor is not virtual
- 4946 Reinterpret cast between related types
- -->
- <AdditionalOptions>/w44263 /w44265 /w44946 %(AdditionalOptions)</AdditionalOptions>
- </ClCompile>
- <!--Link Base:Application-->
- <Link Condition="'$(ConfigurationType)'=='Application'">
- <AdditionalDependencies>avrt.lib;comctl32.lib;iphlpapi.lib;ksuser.lib;setupapi.lib;shlwapi.lib;winmm.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalDependencies Condition="'$(Platform)'=='x64'">opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <!--FFmpeg and the libs it pulls in-->
- <AdditionalLibraryDirectories>$(ExternalsDir)FFmpeg-bin\$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <AdditionalDependencies>avcodec.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <!--libcurl needs Crypt32.lib-->
- <AdditionalDependencies>Crypt32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <!--Needed to set window decorations for dark theme-->
- <AdditionalDependencies>dwmapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <!--See Common/CompatPatches.cpp-->
- <ForceSymbolReferences>enableCompatPatches</ForceSymbolReferences>
- </Link>
- <!--Link Debug:Application-->
- <Link Condition="'$(Configuration)'=='Debug' And '$(ConfigurationType)'=='Application'">
- <!--The FFmpeg we link against uses non-debug msvcrt. Ignore it.-->
- <AdditionalOptions>/NODEFAULTLIB:msvcrt %(AdditionalOptions)</AdditionalOptions>
- </Link>
- </ItemDefinitionGroup>
-</Project>
diff --git a/Source/VSProps/Base.Macros.props b/Source/VSProps/Base.Macros.props
deleted file mode 100644
index b2d936ed66..0000000000
--- a/Source/VSProps/Base.Macros.props
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <PropertyGroup Label="UserMacros">
- <DolphinRelease Condition="'$(DolphinRelease)'!='true' or '$(Configuration)'!='Release'">false</DolphinRelease>
- <TargetSuffix></TargetSuffix>
- <TargetSuffix Condition="'$(Configuration)'=='Debug'">D</TargetSuffix>
- <DolphinRootDir>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\..'))\</DolphinRootDir>
- <BuildRootDir>$(DolphinRootDir)Build\</BuildRootDir>
- <BinaryRootDir>$(DolphinRootDir)Binary\</BinaryRootDir>
- <BinaryOutputDir>$(BinaryRootDir)$(Platform)\</BinaryOutputDir>
- <ExternalsDir>$(DolphinRootDir)Externals\</ExternalsDir>
- <SourceDir>$(DolphinRootDir)Source\</SourceDir>
- <CoreDir>$(SourceDir)Core\</CoreDir>
- <CScript>%windir%\System32\cscript</CScript>
- <VSPropsDir>$(SourceDir)VSProps\</VSPropsDir>
- </PropertyGroup>
- <PropertyGroup>
- <BaseMacrosImported>true</BaseMacrosImported>
- </PropertyGroup>
-</Project> \ No newline at end of file
diff --git a/Source/VSProps/Base.Targets.props b/Source/VSProps/Base.Targets.props
deleted file mode 100644
index 99c93fa3e0..0000000000
--- a/Source/VSProps/Base.Targets.props
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|ARM64">
- <Configuration>Debug</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|ARM64">
- <Configuration>Release</Configuration>
- <Platform>ARM64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
- </PropertyGroup>
-</Project> \ No newline at end of file
diff --git a/Source/VSProps/Base.props b/Source/VSProps/Base.props
deleted file mode 100644
index 2d22925d7b..0000000000
--- a/Source/VSProps/Base.props
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <!--
- This file is included by *everything* (Externals and Dolphin code).
- If you want to define something that only applies to Dolphin code, use Base.Dolphin.props
- -->
- <Import Project="Base.Macros.props" Condition="'$(BaseMacrosImported)'==''" />
- <PropertyGroup>
- <IntDir>$(BuildRootDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
- <OutDir>$(IntDir)bin\</OutDir>
- <!--Set link /INCREMENTAL:NO to remove some entropy from builds (assists with deterministic build)-->
- <LinkIncremental>false</LinkIncremental>
- <!--Disable vcpkg to avoid accidentally linking to its packages-->
- <VcpkgEnabled>false</VcpkgEnabled>
- </PropertyGroup>
- <ItemDefinitionGroup>
- <!--ClCompile Base-->
- <ClCompile>
- <!--Base external header policy: ignore all warnings except template instantiations, and disable analyzer-->
- <ExternalWarningLevel>TurnOffAllWarnings</ExternalWarningLevel>
- <ExternalTemplatesDiagnostics>true</ExternalTemplatesDiagnostics>
- <DisableAnalyzeExternal>true</DisableAnalyzeExternal>
- <TreatAngleIncludeAsExternal>true</TreatAngleIncludeAsExternal>
-
- <WarningLevel>Level4</WarningLevel>
- <TreatWarningAsError>true</TreatWarningAsError>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <RuntimeTypeInfo>false</RuntimeTypeInfo>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <MultiProcessorCompilation>true</MultiProcessorCompilation>
- <!--This doesn't seem required but nice to be future-proof-->
- <LanguageStandard_C>stdc17</LanguageStandard_C>
- <!--Enable latest C++ standard-->
- <LanguageStandard>stdcpplatest</LanguageStandard>
- <BuildStlModules>false</BuildStlModules>
- <!--Enable Standard Conformance-->
- <ConformanceMode>true</ConformanceMode>
- <!--Enforce some behaviors as standards-conformant when they don't default as such.-->
- <AdditionalOptions>/Zc:__cplusplus,enumTypes,externConstexpr,preprocessor,templateScope,throwingNew /volatile:iso %(AdditionalOptions)</AdditionalOptions>
- <!--Enable detailed debug info-->
- <AdditionalOptions>/Zo %(AdditionalOptions)</AdditionalOptions>
- <!--Treat sources as utf-8-->
- <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
- <DebugInformationFormat>OldStyle</DebugInformationFormat>
- <DiagnosticsFormat>Caret</DiagnosticsFormat>
- <!--
- A (currently) hidden switch, like /Brepro, furthermore enabling warnings about non-deterministic code.
- This may be advantageous over /Brepro, which inits __DATE__, __TIME__, etc. equal to 1 (and allows
- them to be redefined), which could have unexpected results.
- -->
- <AdditionalOptions>/experimental:deterministic %(AdditionalOptions)</AdditionalOptions>
- <!--
- pathmap replaces path prefixes of source files with a hardcoded value, assisting with keeping output
- files uniform even if actually built from different locations. The mapped path doesn't really need full
- drive prefix, but it keeps things human readable. Note the trailing "\" is actually to be escaped by a
- preceding "\" in the expanded variable.
- -->
- <AdditionalOptions>/pathmap:"$(DolphinRootDir)\"=d:\ %(AdditionalOptions)</AdditionalOptions>
- <AdditionalOptions>/pathmap:"$(WindowsSdkDir)\"=w:\ %(AdditionalOptions)</AdditionalOptions>
- <AdditionalOptions>/pathmap:"$(VCToolsetsDir)\"=v:\ %(AdditionalOptions)</AdditionalOptions>
- </ClCompile>
- <!--ClCompile Debug-->
- <ClCompile Condition="'$(Configuration)'=='Debug'">
- <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <Optimization>Disabled</Optimization>
- </ClCompile>
- <ClCompile Condition="'$(Configuration)'=='Debug' And '$(EnableASAN)'=='true'">
- <BasicRuntimeChecks>Default</BasicRuntimeChecks>
- </ClCompile>
- <!--ClCompile Release-->
- <ClCompile Condition="'$(Configuration)'=='Release'">
- <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
- <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
- <OmitFramePointers>true</OmitFramePointers>
- <StringPooling>true</StringPooling>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <BufferSecurityCheck>false</BufferSecurityCheck>
- <AdditionalOptions>/Gw /Zc:checkGwOdr %(AdditionalOptions)</AdditionalOptions>
- <WholeProgramOptimization Condition="'$(DolphinRelease)'=='true'">true</WholeProgramOptimization>
- </ClCompile>
- <!--Link Base-->
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <TreatLinkerWarningAsErrors>true</TreatLinkerWarningAsErrors>
- <AdditionalOptions>/experimental:deterministic %(AdditionalOptions)</AdditionalOptions>
- </Link>
- <!--Link Release-->
- <Link Condition="'$(Configuration)'=='Release'">
- <LinkTimeCodeGeneration Condition="'$(DolphinRelease)'=='true'">UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- </Link>
- <Lib>
- <TreatLibWarningAsErrors>true</TreatLibWarningAsErrors>
- <LinkTimeCodeGeneration Condition="'$(DolphinRelease)'=='true'">true</LinkTimeCodeGeneration>
- <AdditionalOptions>/experimental:deterministic %(AdditionalOptions)</AdditionalOptions>
- </Lib>
- </ItemDefinitionGroup>
- <ItemGroup />
-</Project>
diff --git a/Source/VSProps/ClDisableAllWarnings.props b/Source/VSProps/ClDisableAllWarnings.props
deleted file mode 100644
index bd683fd3bd..0000000000
--- a/Source/VSProps/ClDisableAllWarnings.props
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <ImportGroup Label="PropertySheets" />
- <PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup>
- <ClCompile>
- <WarningLevel>TurnOffAllWarnings</WarningLevel>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemGroup />
-</Project> \ No newline at end of file
diff --git a/Source/VSProps/Configuration.Application.props b/Source/VSProps/Configuration.Application.props
deleted file mode 100644
index 8af23ba8a2..0000000000
--- a/Source/VSProps/Configuration.Application.props
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <Import Project="Configuration.Base.props" />
- <PropertyGroup Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- </PropertyGroup>
-</Project> \ No newline at end of file
diff --git a/Source/VSProps/Configuration.Base.props b/Source/VSProps/Configuration.Base.props
deleted file mode 100644
index d36fe43c89..0000000000
--- a/Source/VSProps/Configuration.Base.props
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <PropertyGroup Label="Configuration">
- <PlatformToolset>v143</PlatformToolset>
- <CharacterSet>Unicode</CharacterSet>
- <PreferredToolArchitecture Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)'=='x64'">x64</PreferredToolArchitecture>
- <PreferredToolArchitecture Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)'=='ARM64'">ARM64</PreferredToolArchitecture>
- <!-- To use ASAN, just uncomment this. For simplicity, you should run VS/windbg/etc
- (including the built executables themselves) after using vcvarsall or similar to setup
- environment, as ASAN needs access to libs and executables in the toolchain paths.
- -->
- <!--<EnableASAN>true</EnableASAN>-->
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
- <UseDebugLibraries>true</UseDebugLibraries>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
- <UseDebugLibraries>false</UseDebugLibraries>
- </PropertyGroup>
-</Project> \ No newline at end of file
diff --git a/Source/VSProps/Configuration.StaticLibrary.props b/Source/VSProps/Configuration.StaticLibrary.props
deleted file mode 100644
index 0da3b50064..0000000000
--- a/Source/VSProps/Configuration.StaticLibrary.props
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <Import Project="Configuration.Base.props" />
- <PropertyGroup Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- </PropertyGroup>
-</Project> \ No newline at end of file
diff --git a/Source/VSProps/Configuration.Utility.props b/Source/VSProps/Configuration.Utility.props
deleted file mode 100644
index d91a9836ba..0000000000
--- a/Source/VSProps/Configuration.Utility.props
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <Import Project="Configuration.Base.props" />
- <PropertyGroup Label="Configuration">
- <ConfigurationType>Utility</ConfigurationType>
- </PropertyGroup>
-</Project> \ No newline at end of file
diff --git a/Source/VSProps/PCHCommon.props b/Source/VSProps/PCHCommon.props
deleted file mode 100644
index 6572d42fbd..0000000000
--- a/Source/VSProps/PCHCommon.props
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <ImportGroup Label="PropertySheets" />
- <PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup>
- <ClCompile>
- <!--
- Creator and ALL users of PCH must have exact same compiler settings!
- In dolphin we accomplish this by sharing settings between targets with
- Base.props.
- -->
- <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
- <!--
- This file will be included by other projects, so we have to manually set
- the output path.
- -->
- <PrecompiledHeaderOutputFile>$(BuildRootDir)$(Platform)\$(Configuration)\pch\pch.pch</PrecompiledHeaderOutputFile>
- </ClCompile>
- </ItemDefinitionGroup>
-</Project> \ No newline at end of file
diff --git a/Source/VSProps/PCHCreate.props b/Source/VSProps/PCHCreate.props
deleted file mode 100644
index c51d2803a6..0000000000
--- a/Source/VSProps/PCHCreate.props
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <ImportGroup Label="PropertySheets">
- <Import Project="PCHCommon.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup>
- <ClCompile>
- <PrecompiledHeader>Create</PrecompiledHeader>
- </ClCompile>
- </ItemDefinitionGroup>
- <!--
- Hacks preventing PCH creators from spending time generating .lib files.
- It is just an optimization to save some time since only .obj outputs are
- really needed by PCH users.
- -->
- <ItemDefinitionGroup>
- <Lib>
- <!--
- Clear the output path so projects referencing this one don't try to drag
- in a nonexistent .lib file.
- -->
- <OutputFile />
- </Lib>
- </ItemDefinitionGroup>
- <!--This prevents the _Lib target from being executed-->
- <PropertyGroup>
- <BuildLibTargets>$(BuildLibTargets);ClearLibCompiled</BuildLibTargets>
- </PropertyGroup>
- <Target Name="ClearLibCompiled">
- <PropertyGroup>
- <LibCompiled>false</LibCompiled>
- </PropertyGroup>
- </Target>
- <!--End .lib hacks-->
-</Project>
diff --git a/Source/VSProps/PCHUse.props b/Source/VSProps/PCHUse.props
deleted file mode 100644
index 4bfb5fc673..0000000000
--- a/Source/VSProps/PCHUse.props
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <ImportGroup Label="PropertySheets">
- <Import Project="Base.Macros.props" Condition="'$(BaseMacrosImported)'==''" />
- <Import Project="PCHCommon.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <ItemDefinitionGroup>
- <ClCompile>
- <PrecompiledHeader>Use</PrecompiledHeader>
- <ForcedIncludeFiles>pch.h</ForcedIncludeFiles>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ProjectReference Include="$(SourceDir)PCH\pch.vcxproj">
- <Project>{76563A7F-1011-4EAD-B667-7BB18D09568E}</Project>
- <Private>false</Private>
- <LinkLibraryDependencies>true</LinkLibraryDependencies>
- <UseLibraryDependencyInputs>true</UseLibraryDependencyInputs>
- </ProjectReference>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/Source/VSProps/QtCompile.props b/Source/VSProps/QtCompile.props
deleted file mode 100644
index bc3c4fe410..0000000000
--- a/Source/VSProps/QtCompile.props
+++ /dev/null
@@ -1,152 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project>
- <PropertyGroup Label="UserMacros">
- <ExternalsQtDir>$(ExternalsDir)Qt\Qt6.8.3\</ExternalsQtDir>
- <QtTargetDirDefault>$(ExternalsQtDir)$(Platform)\</QtTargetDirDefault>
- <QTDIR Condition="Exists('$(QtTargetDirDefault)') And ('$(QTDIR)'=='' Or !Exists('$(QTDIR)'))">$(QtTargetDirDefault)</QTDIR>
- <QTDIR Condition="Exists('$(QTDIR)') And !HasTrailingSlash('$(QTDIR)')">$(QTDIR)\</QTDIR>
- <QtDirValid>false</QtDirValid>
- <QtDirValid Condition="Exists('$(QTDIR)')">true</QtDirValid>
- <QtIncludeDir>$(QTDIR)include\</QtIncludeDir>
- <QtLibDir>$(QTDIR)lib\</QtLibDir>
- <QtBinDir>$(QTDIR)bin\</QtBinDir>
- <QtPluginsDir>$(QTDIR)plugins\</QtPluginsDir>
- <QtToolOutDir>$(IntDir)</QtToolOutDir>
- <QtDebugSuffix>d</QtDebugSuffix>
- <QtHostToolsDir>$(ExternalsQtDir)x64\</QtHostToolsDir>
- <QtLibSuffix Condition="'$(Configuration)'=='Debug'">$(QtDebugSuffix)</QtLibSuffix>
- <QtPluginFolder>QtPlugins</QtPluginFolder>
- </PropertyGroup>
- <ItemDefinitionGroup>
- <ClCompile>
- <PreprocessorDefinitions Condition="'$(Configuration)'=='Release'">QT_NO_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PreprocessorDefinitions>QT_DLL;QT_CORE_LIB;QT_GUI_LIB;QT_WIDGETS_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PreprocessorDefinitions>QT_USE_QSTRINGBUILDER;QT_NO_CAST_FROM_ASCII;QT_NO_CAST_TO_ASCII;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>$(QtIncludeDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories>$(QtIncludeDir)QtCore;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories>$(QtIncludeDir)QtGui;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <AdditionalIncludeDirectories>$(QtIncludeDir)QtWidgets;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <!--
- As of Qt6.3, Qt needs user code deriving from certain Qt types to have RTTI (AS WELL AS MOC, UGH).
- Do NOT enable in dolphin outside of Qt-dependant code.
- -->
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- </ClCompile>
- <Link>
- <AdditionalLibraryDirectories>$(QtLibDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <AdditionalDependencies>Qt6Core$(QtLibSuffix).lib;Qt6Gui$(QtLibSuffix).lib;Qt6Widgets$(QtLibSuffix).lib;%(AdditionalDependencies)</AdditionalDependencies>
- <SubSystem>Windows</SubSystem>
- <!--
- <AdditionalOptions>"/manifestdependency:type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\" %(AdditionalOptions)</AdditionalOptions>
- -->
- </Link>
- </ItemDefinitionGroup>
-
- <!--
- Use the moc implementation provided by (somewhat out-of-date version of) "Qt VS Tools"
- see: https://code.qt.io/cgit/qt-labs/vstools.git/tree/QtMSBuild
- This provides a wrapper around moc which deals with parallel dispatch to moc,
- as well as creating ClCompile inputs from the moc outputs.
- Note that we currently pass the same ClCompile.PreprocessorDefinitions to moc,
- but not the include paths, as passing include paths drastically slows down
- moc, and it doesn't appear to actually need them anyway.
- -->
- <Import Project="qt_globals.targets"/>
- <Import Project="qt_tasks.targets"/>
- <ItemDefinitionGroup>
- <!--From qtmoc.props-->
- <QtMoc>
- <ExecutionDescription>moc %(Identity)</ExecutionDescription>
- <QTDIR>$(QtHostToolsDir)</QTDIR>
- <InputFile>%(FullPath)</InputFile>
- <!--
- moc task does not properly detect outputs are outdated if Qt version changes
- (possibly causing Q_MOC_OUTPUT_REVISION to change). This *might* be because we
- don't give moc the include paths, so it doesn't notice the version change.
- In any case, we can workaround it by manually changing output path when needed
- to avoid conflicts. (the numeric postfix is the value of Q_MOC_OUTPUT_REVISION)
- -->
- <OutputFile>$(QtToolOutDir)moc_68\moc_%(Filename).cpp</OutputFile>
- <QtMocDir>$(QtToolOutDir)moc_68\</QtMocDir>
- <QtMocFileName>moc_%(Filename).cpp</QtMocFileName>
- <DynamicSource>output</DynamicSource>
- <ParallelProcess>true</ParallelProcess>
- <CommandLineTemplate>[AllOptions] [AdditionalOptions]</CommandLineTemplate>
- <Outputs>%(OutputFile)</Outputs>
- <OverrideClCompile>false</OverrideClCompile>
- </QtMoc>
- </ItemDefinitionGroup>
- <Import Project="qtmoc.targets" />
- <Target Name="QtCheckQtDir" BeforeTargets="QtMocInit" Condition="!$(QtDirValid)">
- <Error Text="QTDIR not set or non-existent (pull the submodule?)" />
- </Target>
-
- <!--Similar story with rcc-->
- <ItemDefinitionGroup>
- <!--From qtrcc.props-->
- <QtRcc>
- <ExecutionDescription>rcc %(Identity)</ExecutionDescription>
- <QTDIR>$(QtHostToolsDir)</QTDIR>
- <InputFile>%(FullPath)</InputFile>
- <OutputFile>$(QtToolOutDir)rcc\qrc_%(Filename).cpp</OutputFile>
- <QtRccDir>$(QtToolOutDir)rcc\</QtRccDir>
- <QtRccFileName>qrc_%(Filename).cpp</QtRccFileName>
- <InitFuncName>%(Filename)</InitFuncName>
- <Compression>default</Compression>
- <TwoPass>false</TwoPass>
- <DynamicSource>output</DynamicSource>
- <ParallelProcess>true</ParallelProcess>
- <CommandLineTemplate>[AllOptions] [AdditionalOptions]</CommandLineTemplate>
- <Outputs>%(OutputFile)</Outputs>
- </QtRcc>
- </ItemDefinitionGroup>
- <Import Project="qtrcc.targets" />
-
- <!--Expose the new targets to VS-->
- <ItemGroup>
- <PropertyPageSchema Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml" />
- </ItemGroup>
-
- <!--Copy the needed dlls-->
- <ItemGroup>
- <QtDllNames_ Include="Qt6Core;Qt6Gui;Qt6Widgets;Qt6Svg" />
- <QtDllNames Include="@(QtDllNames_ -> '%(Identity)$(QtLibSuffix).dll')" />
- <QtDllsSrc Include="@(QtDllNames -> '$(QtBinDir)%(Identity)')" />
- <QtDllsDst Include="@(QtDllNames -> '$(BinaryOutputDir)%(Identity)')" />
- <QtPluginNames_ Include="iconengines\qsvgicon;imageformats\qsvg;platforms\qdirect2d;platforms\qwindows;styles\qmodernwindowsstyle"/>
- <QtPluginNames Include="@(QtPluginNames_ -> '%(Identity)$(QtLibSuffix).dll')" />
- <QtPluginsSrc Include="@(QtPluginNames -> '$(QtPluginsDir)%(Identity)')" />
- <QtPluginsDst Include="@(QtPluginNames -> '$(BinaryOutputDir)$(QtPluginFolder)\%(Identity)')" />
- </ItemGroup>
- <PropertyGroup>
- <QtConfFile>$(BinaryOutputDir)qt.conf</QtConfFile>
- </PropertyGroup>
- <Target Name="QtCopyBinaries"
- AfterTargets="Build"
- Inputs="@(QtDllsSrc);@(QtPluginsSrc)"
- Outputs="@(QtDllsDst);@(QtPluginsDst)">
- <Copy
- SourceFiles="@(QtDllsSrc)"
- DestinationFiles="@(QtDllsDst)"
- SkipUnchangedFiles="true"
- />
- <Copy
- SourceFiles="@(QtPluginsSrc)"
- DestinationFiles="@(QtPluginsDst)"
- SkipUnchangedFiles="true"
- />
- </Target>
- <Target Name="QtCreateConf"
- BeforeTargets="QtCopyBinaries"
- Condition="!Exists('$(QtConfFile)')">
- <!--
- Create a file which tells Qt where to look for "plugins".
- Otherwise Qt only looks in ./<subtype>/type.dll instead of ./$(QtPluginFolder)/<subtype>/type.dll, which is messy
- -->
- <WriteLinesToFile
- File="$(QtConfFile)"
- Lines="[Paths];Plugins = ./$(QtPluginFolder)"
- Overwrite="true"
- />
- </Target>
-</Project>
diff --git a/Source/VSProps/qt_globals.targets b/Source/VSProps/qt_globals.targets
deleted file mode 100644
index 60abfacc32..0000000000
--- a/Source/VSProps/qt_globals.targets
+++ /dev/null
@@ -1,558 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt VS Tools.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
--->
-
-<!--
-///////////////////////////////////////////////////////////////////////////////////////////////////
-/// Qt/MSBuild global definitions
-///////////////////////////////////////////////////////////////////////////////////////////////////
-// -->
-<Project>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Build dependencies
- // -->
- <PropertyGroup>
- <BuildDependsOn>
- QtVersion;
- $(BuildDependsOn);
- Qt
- </BuildDependsOn>
- <CleanDependsOn>
- $(CleanDependsOn);
- QtClean
- </CleanDependsOn>
- <DesignTimeBuildInitTargets>
- $(DesignTimeBuildInitTargets);
- Qt
- </DesignTimeBuildInitTargets>
- <ComputeCompileInputsTargets>
- $(ComputeCompileInputsTargets);
- Qt
- </ComputeCompileInputsTargets>
- <BeforeClCompileTargets>
- $(BeforeClCompileTargets);
- Qt
- </BeforeClCompileTargets>
- <ComputeLinkInputsTargets>
- $(ComputeLinkInputsTargets);
- Qt
- </ComputeLinkInputsTargets>
- </PropertyGroup>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Qt/MSBuild global properties
- // -->
- <Import Project="..\version.targets" Condition="Exists('..\version.targets')"/>
- <PropertyGroup>
- <QtMsBuildVersion>$(QtVSToolsVersion)</QtMsBuildVersion>
- <QtDebug Condition="'$(QtDebug)' == ''">false</QtDebug>
- <QtLogFilePath Condition="'$(QtLogFilePath)' == ''"
- >$([System.IO.Path]::Combine($(ProjectDir),$(IntDir)qt_work.log))</QtLogFilePath>
- <QtMaxProcs Condition="'$(QtMaxProcs)' == ''"
- >$([System.Environment]::ProcessorCount)</QtMaxProcs>
- </PropertyGroup>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TARGET QtGetDefaultClCompile
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Get default C++ properties
- // -->
- <Target Name="QtGetDefaultClCompile">
- <ItemGroup>
- <ClCompile Include="DefaultClCompile"/>
- </ItemGroup>
- </Target>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TARGET QtClean
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Clean-up from previous build
- // -->
- <Target Name="QtClean">
- <Message Importance="High" Condition="'$(QtDebug)' == 'true'" Text="## Qt Clean"/>
- <Delete Files="$(QtLogFilePath)"/>
- </Target>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TARGET QtVersion
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Print debug message with Qt/MSBuild version
- // -->
- <Target Name="QtVersion">
- <Message Importance="High" Condition="'$(QtDebug)' == 'true'"
- Text="Qt/MSBuild v$(QtMsBuildVersion) ($(MSBuildThisFileDirectory))"/>
- </Target>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TARGET QtPrepare
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Prepare Qt build: read and parse work log file
- // -->
- <Target Name="QtPrepare"
- Condition="'$(QtSkipWork)' != 'true'"
- DependsOnTargets="$(QtDependsOn)"
- BeforeTargets="QtWorkPrepare">
-
- <Message Importance="High" Condition="'$(QtDebug)' == 'true'" Text="#### QtPrepare"/>
-
- <ReadLinesFromFile File="$(QtLogFilePath)">
- <Output TaskParameter="Lines" ItemName="QtLogData"/>
- </ReadLinesFromFile>
- <ItemGroup Condition="'@(QtLogData)' != ''">
- <QtWorkLog
- Include="@(QtLogData->'$([System.String]::Copy('%(QtLogData.Identity)').Split('|')[0])')">
- <Hash>$([System.String]::Copy('%(QtLogData.Identity)').Split('|')[1])</Hash>
- </QtWorkLog>
- </ItemGroup>
- </Target>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TARGET QtWorkPrepare
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Analyze work request and decide if the Qt tool needs to be called or if the output from the
- // previous call is still valid.
- // -->
- <Target Name="QtWorkPrepare" DependsOnTargets="$(QtDependsOn);$(QtBuildTargets)"
- Condition="'$(QtSkipWork)' != 'true'"
- Inputs="%(QtWork.WorkType)(%(QtWork.Identity))"
- Outputs="@(QtWork->'####### Don't skip this target #######')">
-
- <Message Importance="High" Condition="'$(QtDebug)' == 'true' AND '@(QtWork)' != ''"
- Text="## QtWorkPrepare %(QtWork.Identity)" />
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Calculate hash for the requested work item, based on its associated tool and options
- // -->
- <GetItemHash Condition="'@(QtWork)' != ''"
- Item="@(QtWork)" Keys="Identity;WorkType;ToolPath;Options">
- <Output TaskParameter="Hash" PropertyName="work_hash" />
- </GetItemHash>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Try to find entry in Qt work log for the requested work item; get logged hash
- // -->
- <PropertyGroup Condition="'@(QtWork)' != ''">
- <work_key>@(QtWork->'%(WorkType)(%(Identity))')</work_key>
- <dependencies_changed>@(QtWork->'%(DependenciesChanged)')</dependencies_changed>
- <input_changed>@(QtWork->'%(InputChanged)')</input_changed>
- <project_changed
- Condition="'$(dependencies_changed)' == 'true' AND '$(input_changed)' != 'true'"
- >true</project_changed>
- </PropertyGroup>
-
- <FindInList Condition="'@(QtWork)' != '' AND '$(input_changed)' != 'true'"
- CaseSensitive="false" List="@(QtWorkLog)" ItemSpecToFind="$(work_key)">
- <Output TaskParameter="ItemFound" ItemName="log_entry"/>
- </FindInList>
-
- <PropertyGroup Condition="'@(QtWork)' != ''">
- <log_hash Condition="'@(log_entry)' != ''">@(log_entry->'%(Hash)')</log_hash>
- </PropertyGroup>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Skip work item if:
- // * work is not needed:
- // - input was not modified
- // - AND project was not modified OR command line did not change (i.e. hashes are the same)
- // * OR we're in a design-time build
- // -->
- <PropertyGroup>
- <do_work
- Condition="'$(input_changed)' == 'true'
- OR ('$(project_changed)' == 'true' AND '$(log_hash)' != '$(work_hash)')"
- >true</do_work>
- <skip_work
- Condition="'$(do_work)' != 'true' OR '$(DesignTimeBuild)' == 'true'"
- >true</skip_work>
- </PropertyGroup>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Skip work item
- // -->
- <ItemGroup Condition="'@(QtWork)' != '' AND '$(skip_work)' == 'true'">
- <QtWorkResult Include="@(QtWork)">
- <ExitCode>0</ExitCode>
- <Skipped>true</Skipped>
- </QtWorkResult>
- <QtWork Remove="@(QtWork)" />
- </ItemGroup>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Generate new work log entry and ensure path to output exists
- // -->
- <ItemGroup Condition="'@(QtWork)' != '' AND '$(skip_work)' != 'true'">
- <QtWorkLog Remove="$(work_key)"/>
- <QtWorkLog Include="$(work_key)">
- <Hash>$(work_hash)</Hash>
- </QtWorkLog>
- </ItemGroup>
-
- <MakeDir Condition="'@(QtWork)' != '' AND '$(skip_work)' != 'true'"
- Directories="$([System.IO.Path]::GetDirectoryName(%(QtWork.OutputFile)))"/>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Clean-up
- // -->
- <PropertyGroup>
- <work_key/>
- <log_hash/>
- <dependencies_changed/>
- <input_changed/>
- <project_changed/>
- <do_work/>
- <skip_work/>
- </PropertyGroup>
- <ItemGroup>
- <log_entry Remove="@(log_entry)"/>
- </ItemGroup>
- </Target>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TARGET QtWork
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Run Qt tools and add dynamic C++ sources to build
- // -->
- <Target Name="QtWork"
- Condition="'$(QtSkipWork)' != 'true'"
- DependsOnTargets="QtWorkPrepare;QtGetDefaultClCompile">
-
- <Message Importance="High" Condition="'$(QtDebug)' == 'true'"
- Text="## Qt Build $(QtBuildTargets.Replace(';',' ').Trim())" />
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Run work locally in parallel processes
- // -->
- <QtRunWork
- Condition="'$(ApplicationType)' != 'Linux' AND '@(QtWork)' != ''
- AND '%(QtWork.ParallelBuild)' == 'true'
- AND '$(DesignTimeBuild)' != 'true'"
- QtWork="@(QtWork)" QtMaxProcs="$(QtMaxProcs)" QtDebug="$(QtDebug)">
- <Output TaskParameter="Result" ItemName="QtWorkResult" />
- </QtRunWork>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Run work locally in a single process
- // -->
- <QtRunWork
- Condition="'$(ApplicationType)' != 'Linux' AND '@(QtWork)' != ''
- AND '%(QtWork.ParallelBuild)' != 'true'
- AND '$(DesignTimeBuild)' != 'true'"
- QtWork="@(QtWork)" QtMaxProcs="1" QtDebug="$(QtDebug)">
- <Output TaskParameter="Result" ItemName="QtWorkResult" />
- </QtRunWork>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Run work in build host
- // -->
- <!-- // Translate local paths to host paths -->
- <Flatten
- Condition="'$(ApplicationType)' == 'Linux'
- AND '@(QtWork)' != '' AND '$(DesignTimeBuild)' != 'true'"
- Items="@(QtWork)" Metadata="ResourceFiles">
- <Output TaskParameter="Result" ItemName="ResourceFiles"/>
- </Flatten>
- <ItemGroup
- Condition="'$(ApplicationType)' == 'Linux'
- AND '@(QtWork)' != '' AND '$(DesignTimeBuild)' != 'true'">
- <LocalPath Include="%(QtWork.Identity)">
- <Name>InputPath</Name>
- <Item>%(QtWork.Identity)</Item>
- <Value>%(QtWork.Identity)</Value>
- </LocalPath>
- <LocalPath
- Condition="'%(ResourceFiles.Identity)' != ''"
- Include="@(ResourceFiles->'%(Item)')">
- <Name>InputPath</Name>
- <Item>@(ResourceFiles->'%(Value)')</Item>
- <Value>@(ResourceFiles->'%(Value)')</Value>
- </LocalPath>
- <LocalPath Include="%(QtWork.Identity)">
- <Name>OutputPath</Name>
- <Item>%(QtWork.OutputFile)</Item>
- <Value>%(QtWork.OutputFile)</Value>
- </LocalPath>
- </ItemGroup>
- <HostTranslatePaths
- Condition="'$(ApplicationType)' == 'Linux'
- AND '@(QtWork)' != '' AND '$(DesignTimeBuild)' != 'true'"
- Items="@(LocalPath)" Names="InputPath;OutputPath">
- <Output TaskParameter="Result" ItemName="HostPath"/>
- </HostTranslatePaths>
- <ItemGroup>
- <InputPath Include="@(HostPath->WithMetadataValue('Name', 'InputPath'))" />
- <OutputPath Include="@(HostPath->WithMetadataValue('Name', 'OutputPath'))" />
- </ItemGroup>
-
- <!-- // Run command -->
- <HostExec
- Condition="'$(ApplicationType)' == 'Linux'
- AND '%(Identity)' != '' AND '$(DesignTimeBuild)' != 'true'"
- Message="@(QtWork->'%(WorkType) %(Identity)')"
- Command="@(QtWork->'%(ToolPath) %(Options)')"
- Inputs="@(InputPath)"
- Outputs="@(OutputPath)"
- RemoteTarget="$(ResolvedRemoteTarget)"
- RemoteProjectDir="$(_ResolvedRemoteProjectDir)">
- </HostExec>
-
- <!-- // Generate result item -->
- <ItemGroup
- Condition="'$(ApplicationType)' == 'Linux'
- AND '@(QtWork)' != '' AND '$(DesignTimeBuild)' != 'true'">
- <QtWorkResult Include="@(QtWork)">
- <ExitCode>0</ExitCode>
- </QtWorkResult>
- </ItemGroup>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Save tracking log of files read during build; used by VS to check the up-to-date status
- // -->
- <ItemGroup Condition="'$(DesignTimeBuild)' != 'true'">
- <read_log Include="^%(QtWorkResult.FullPath);%(QtWorkResult.AdditionalDependencies)"
- Condition="'%(QtWorkResult.ExitCode)' == '0' AND '%(QtWorkResult.DisableLog)' != 'true'">
- <WorkType>%(QtWorkResult.WorkType)</WorkType>
- </read_log>
- <read_log>
- <Path Condition="$([System.String]::Copy('%(Identity)').StartsWith('^'))">%(Identity)</Path>
- <Path Condition="!$([System.String]::Copy('%(Identity)').StartsWith('^'))"
- >$([System.IO.Path]::Combine('$(MSBuildProjectDirectory)','%(Identity)'))</Path>
- </read_log>
- </ItemGroup>
-
- <WriteLinesToFile
- Condition="'@(read_log)' != ''"
- File="$(TLogLocation)%(read_log.WorkType).read.1u.tlog"
- Lines="@(read_log->MetaData('Path')->ToUpperInvariant());"
- Overwrite="true"
- Encoding="Unicode"/>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Save tracking log of files written during build; used by VS to check the up-to-date status
- // -->
- <ItemGroup Condition="'$(DesignTimeBuild)' != 'true'">
- <write_log Include="^%(QtWorkResult.FullPath);%(QtWorkResult.OutputFile)"
- Condition="'%(QtWorkResult.ExitCode)' == '0' AND '%(QtWorkResult.DisableLog)' != 'true'">
- <WorkType>%(QtWorkResult.WorkType)</WorkType>
- </write_log>
- <write_log>
- <Path Condition="$([System.String]::Copy('%(Identity)').StartsWith('^'))">%(Identity)</Path>
- <Path Condition="!$([System.String]::Copy('%(Identity)').StartsWith('^'))"
- >$([System.IO.Path]::Combine('$(MSBuildProjectDirectory)','%(Identity)'))</Path>
- </write_log>
- </ItemGroup>
-
- <WriteLinesToFile Condition="'@(write_log)' != ''"
- File="$(TLogLocation)%(write_log.WorkType).write.1u.tlog"
- Lines="@(write_log->MetaData('Path')->ToUpperInvariant());"
- Overwrite="true" Encoding="Unicode"/>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Log output files; this is used by VS to determine what files to delete on "Clean"
- // -->
- <ItemGroup Condition="'$(DesignTimeBuild)' != 'true'">
- <clean_log Include="%(QtWorkResult.OutputFile)"
- Condition="'%(QtWorkResult.ExitCode)' == '0'">
- <Source>@(QtWorkResult, '|')</Source>
- </clean_log>
- </ItemGroup>
-
- <WriteLinesToFile Condition="'@(clean_log)' != ''"
- File="$(TLogLocation)$(ProjectName).write.1u.tlog"
- Lines="^%(clean_log.Source);@(clean_log->'%(Fullpath)')"
- Encoding="Unicode"/>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Log calls to Qt tools; used in QtWorkPrepare to detect changes to the options of Qt tools
- // -->
- <WriteLinesToFile Condition="'@(QtWorkLog)' != '' AND '$(DesignTimeBuild)' != 'true'"
- File="$(QtLogFilePath)"
- Lines="@(QtWorkLog->'%(Identity)|%(Hash)')"
- Overwrite="true" Encoding="Unicode"/>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Generate build error if a Qt tool did not terminate correctly
- // -->
- <Error
- Condition="'%(QtWorkResult.ExitCode)' != ''
- AND '%(QtWorkResult.ExitCode)' != '0'
- AND '$(DesignTimeBuild)' != 'true'"
- File="%(QtWorkResult.Identity)" Code="%(QtWorkResult.ExitCode)"
- Text="%(QtWorkResult.WorkType) (%(QtWorkResult.ToolPath))"/>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Add dynamic C++ sources to build
- // -->
- <ItemGroup>
- <QtWork_ClCompile
- Condition="'%(QtWorkResult.ExitCode)' == '0' AND '%(QtWorkResult.ClCompile)' != ''"
- Include="@(QtWorkResult->'%(ClCompile)')"/>
- <QtWork_ClCompile
- Condition="Exists('$(QtVarsOutputDir)\qtvars_plugin_import.cpp')"
- Include="$(QtVarsOutputDir)\qtvars_plugin_import.cpp"/>
- </ItemGroup>
- <ItemGroup Condition="'$(ApplicationType)' == 'Linux'">
- <QtWork_ClCompile Condition="'%(QtWork_ClCompile.ObjectFileName)' == ''">
- <ObjectFileName>$(IntDir)%(Filename).o</ObjectFileName>
- </QtWork_ClCompile>
- </ItemGroup>
-
- <!-- // Copy default C++ compiler properties -->
- <Expand Condition="'@(QtWork_ClCompile)' != ''"
- Items="@(QtWork_ClCompile)"
- BaseItem="@(ClCompile->WithMetadataValue('Identity', 'DefaultClCompile'))">
- <Output TaskParameter="Result" ItemName="QtWork_ClCompile_Expanded"/>
- </Expand>
-
- <!-- // Force pre-compiled header include -->
- <ItemGroup Condition="'$(ApplicationType)' != 'Linux'">
- <QtWork_ClCompile_Expanded>
- <AdditionalIncludeDirectories
- >$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <ForcedIncludeFiles Condition="'%(PrecompiledHeader)' == 'Use'"
- >%(PrecompiledHeaderFile)</ForcedIncludeFiles>
- </QtWork_ClCompile_Expanded>
- </ItemGroup>
-
- <!-- // Add C++ source items and clean-up temp items -->
- <ItemGroup>
- <ClCompile Include="@(QtWork_ClCompile_Expanded)"/>
- <QtWork_ClCompile_Expanded Remove="@(QtWork_ClCompile_Expanded)"/>
- <QtWork_ClCompile Remove="@(QtWork_ClCompile)"/>
- </ItemGroup>
-
- <!--// If sources were manually selected (e.g. by the 'Compile' option in the context menu for
- // project items), add generated C++ sources to the list of selected files -->
- <PropertyGroup Condition="'$(SelectedFiles)' != ''">
- <SelectedClCompile>@(QtWorkResult->'%(ClCompile)')</SelectedClCompile>
- </PropertyGroup>
- <PropertyGroup Condition="'$(SelectedClCompile)' != ''">
- <SelectedFiles>$(SelectedFiles);$(SelectedClCompile)</SelectedFiles>
- </PropertyGroup>
- <ItemGroup Condition="'$(SelectedClCompile)' != ''">
- <SelectedFiles Include="$(SelectedClCompile)"/>
- </ItemGroup>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Update C++ sources with generated information
- // -->
- <PropertyGroup>
- <QtIncludePath>@(QtIncludePath->Distinct())</QtIncludePath>
- </PropertyGroup>
- <ItemGroup>
- <ClCompile_Updated Include="@(ClCompile)">
- <AdditionalIncludeDirectories
->$(QtIncludePath);%(ClCompile.AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile_Updated>
- <ClCompile Remove="@(ClCompile)"/>
- <ClCompile Include="@(ClCompile_Updated)"/>
- <ClCompile_Updated Remove="@(ClCompile_Updated)"/>
- </ItemGroup>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Clean-up
- // -->
- <ItemGroup>
- <QtWork Remove="@(QtWork)"/>
- <QtWorkResult Remove="@(QtWorkResult)"/>
- <QtWorkLog Remove="@(QtWorkLog)"/>
- <read_log Remove="@(read_log)"/>
- <write_log Remove="@(write_log)"/>
- <clean_log Remove="@(clean_log)"/>
- </ItemGroup>
- </Target>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TARGET Qt
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Root Qt target
- // -->
- <Target Name="Qt" DependsOnTargets="QtPrepare;QtWork" BeforeTargets="FixupCLCompileOptions">
- <ItemGroup>
- <ClCompile Remove="DefaultClCompile" />
- </ItemGroup>
- </Target>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TARGET QtOuterBuild
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Run targets in $(QtOuterBuildDependsOn) and then recursively invoke build
- // -->
- <Target Name="QtOuterBuild" DependsOnTargets="$(QtOuterBuildDependsOn)">
- <!--// Invoke inner build: recursive build in second MSBuild instance -->
- <MSBuild
- Projects="$(MSBuildProjectFullPath)"
- Targets="Build"
- Properties="QtInnerBuild=$(MSBuildProjectFullPath);RandomFileName=$(RandomFileName)">
- </MSBuild>
- </Target>
-
- <PropertyGroup
- Condition="'$(QtInnerBuild)' == '' AND '$(DesignTimeBuild)' != 'true'">
- <!--// Outer build: invoke inner build -->
- <BuildDependsOn>$(QtOuterBuildPrepare);QtOuterBuild;$(QtOuterBuildFinalize)</BuildDependsOn>
- <QtInnerBuild>$(MSBuildProjectFullPath)</QtInnerBuild>
- <RandomFileName>$([System.IO.Path]::GetRandomFileName())</RandomFileName>
- </PropertyGroup>
-
- <PropertyGroup
- Condition="'$(QtInnerBuild)' != '$(MSBuildProjectFullPath)' AND '$(DesignTimeBuild)' != 'true'">
- <!--// Dependent project inner build: skip build -->
- <BuildDependsOn>$(QtOuterBuildPrepare);$(QtOuterBuildFinalize)</BuildDependsOn>
- </PropertyGroup>
-
-</Project>
diff --git a/Source/VSProps/qt_tasks.targets b/Source/VSProps/qt_tasks.targets
deleted file mode 100644
index b87ccf039b..0000000000
--- a/Source/VSProps/qt_tasks.targets
+++ /dev/null
@@ -1,1110 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt VS Tools.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
--->
-
-<!--
-///////////////////////////////////////////////////////////////////////////////////////////////////
-// Helper inline tasks used by the Qt/MSBuild targets
-// -->
-<Project>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TASK ListQrc
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // List resource paths in a QRC file.
- // Parameters:
- // in string QrcFilePath: path to QRC file
- // out string[] Result: paths to files referenced in QRC
- // -->
- <UsingTask TaskName="ListQrc"
- TaskFactory="CodeTaskFactory"
- AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll">
- <ParameterGroup>
- <QrcFilePath ParameterType="System.String" Required="true" />
- <Result ParameterType="System.String[]" Output="true" />
- </ParameterGroup>
- <Task>
- <Reference Include="System.Xml"/>
- <Reference Include="System.Xml.Linq"/>
- <Using Namespace="System.Xml.Linq"/>
- <Code Type="Fragment" Language="cs">
- <![CDATA[
- XDocument qrc = XDocument.Load(QrcFilePath, LoadOptions.SetLineInfo);
- IEnumerable<XElement> files = qrc
- .Element("RCC")
- .Elements("qresource")
- .Elements("file");
- Uri QrcPath = new Uri(QrcFilePath);
- Result = files
- .Select(x => new Uri(QrcPath, x.Value).LocalPath)
- .ToArray();
- ]]>
- </Code>
- </Task>
- </UsingTask>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TASK GetItemHash
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Calculate an hash code (Deflate + Base64) for an item, given a list of metadata to use as key
- // Parameters:
- // in ITaskItem Item: item for which the hash will be calculated
- // in string[] Keys: list of names of the metadata to use as item key
- // out string Hash: hash code (Base64 representation of Deflate'd UTF-8 item key)
- // -->
- <UsingTask TaskName="GetItemHash"
- TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
- <ParameterGroup>
- <Item ParameterType="Microsoft.Build.Framework.ITaskItem" Required="true" />
- <Keys ParameterType="System.String[]" Required="true" />
- <Hash Output="true" ParameterType="System.String" />
- </ParameterGroup>
- <Task>
- <Using Namespace="System"/>
- <Using Namespace="System.Text"/>
- <Using Namespace="System.IO"/>
- <Using Namespace="System.IO.Compression"/>
- <Code Type="Fragment" Language="cs">
- <![CDATA[
- var data = Encoding.UTF8.GetBytes(string.Concat(Keys.OrderBy(x => x)
- .Select(x => string.Format("[{0}={1}]", x, Item.GetMetadata(x))))
- .ToUpper());
- using (var dataZipped = new MemoryStream()) {
- using (var zip = new DeflateStream(dataZipped, CompressionLevel.Fastest))
- zip.Write(data, 0, data.Length);
- Hash = Convert.ToBase64String(dataZipped.ToArray());
- }
- ]]>
- </Code>
- </Task>
- </UsingTask>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TASK Expand
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Expand a list of items, taking additional metadata from a base item and from a template item.
- // Parameters:
- // in ITaskItem[] Items: items to expand
- // in ITaskItem BaseItem: base item from which the expanded items derive
- // in ITaskItem Template = null: (optional) template containing metadata to add / update
- // out ITaskItem[] Result: list of new items
- // -->
- <UsingTask TaskName="Expand"
- TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
- <ParameterGroup>
- <Items ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="true" />
- <BaseItem ParameterType="Microsoft.Build.Framework.ITaskItem" Required="true" />
- <Template ParameterType="Microsoft.Build.Framework.ITaskItem" Required="false"/>
- <Result Output="true" ParameterType="Microsoft.Build.Framework.ITaskItem[]" />
- </ParameterGroup>
- <Task>
- <Using Namespace="System"/>
- <Using Namespace="System.Text.RegularExpressions"/>
- <Code Type="Fragment" Language="cs">
- <![CDATA[
- Result = new ITaskItem[] { };
- var reserved = new HashSet<string>(StringComparer.InvariantCultureIgnoreCase)
- {
- "AccessedTime", "CreatedTime", "DefiningProjectDirectory",
- "DefiningProjectExtension", "DefiningProjectFullPath", "DefiningProjectName",
- "Directory", "Extension", "Filename", "FullPath", "Identity", "ModifiedTime",
- "RecursiveDir", "RelativeDir", "RootDir",
- };
- var newItems = new List<ITaskItem>();
- foreach (var item in Items) {
- var newItem = new TaskItem(item);
- if (BaseItem != null)
- BaseItem.CopyMetadataTo(newItem);
- var itemExt = newItem.GetMetadata("Extension");
- if (!string.IsNullOrEmpty(itemExt))
- newItem.SetMetadata("Suffix", itemExt.Substring(1));
- if (Template != null) {
- var metadataNames = Template.MetadataNames
- .Cast<string>().Where(x => !reserved.Contains(x));
- foreach (var metadataName in metadataNames) {
- var metadataValue = Template.GetMetadata(metadataName);
- newItem.SetMetadata(metadataName,
- Regex.Replace(metadataValue, @"(%<)(\w+)(>)",
- match => newItem.GetMetadata(match.Groups[2].Value)));
- }
- }
- newItems.Add(newItem);
- }
- Result = newItems.ToArray();
- ]]>
- </Code>
- </Task>
- </UsingTask>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TASK DumpItems
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Dump contents of items as a log message. The contents are formatted as XML.
- // Parameters:
- // in string ItemType: type of the items; this is used as the parent node of each
- // item dump
- // in ITaskItem[] Items: items to dump
- // in bool DumpReserved: include MSBuild reserved metadata in dump?
- // in string Metadata: list of names of metadata to include in dump; omit to
- // include all metadata
- // -->
- <UsingTask TaskName="DumpItems"
- TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
- <ParameterGroup>
- <ItemType ParameterType="System.String" Required="true" />
- <Items ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="true" />
- <DumpReserved ParameterType="System.Boolean" Required="false" />
- <Metadata ParameterType="System.String" Required="false" />
- </ParameterGroup>
- <Task>
- <Using Namespace="System"/>
- <Using Namespace="System.Diagnostics"/>
- <Using Namespace="System.Text"/>
- <Code Type="Fragment" Language="cs">
- <![CDATA[
- var reserved = new HashSet<string>
- {
- "AccessedTime", "CreatedTime", "DefiningProjectDirectory",
- "DefiningProjectExtension", "DefiningProjectFullPath", "DefiningProjectName",
- "Directory", "Extension", "Filename", "FullPath", "Identity", "ModifiedTime",
- "RecursiveDir", "RelativeDir", "RootDir",
- };
- if (Metadata == null)
- Metadata = "";
- var requestedNames = new HashSet<string>(Metadata.Split(new[] { ';' },
- StringSplitOptions.RemoveEmptyEntries));
- var itemXml = new StringBuilder();
- if (Items.Any()) {
- foreach (var item in Items) {
- if (itemXml.Length > 0)
- itemXml.Append("\r\n");
- itemXml.AppendFormat("<{0} Include=\"{1}\"", ItemType, item.ItemSpec);
- var names = item.MetadataNames.Cast<string>()
- .Where(x => (DumpReserved || !reserved.Contains(x))
- && (!requestedNames.Any() || requestedNames.Contains(x)))
- .OrderBy(x => x);
- if (names.Any()) {
- itemXml.Append(">\r\n");
- foreach (string name in names) {
- if (!DumpReserved && reserved.Contains(name))
- continue;
- if (!item.MetadataNames.Cast<string>().Contains(name))
- continue;
- var value = item.GetMetadata(name);
- if (!string.IsNullOrEmpty(value))
- itemXml.AppendFormat(" <{0}>{1}</{0}>\r\n", name, value);
- else
- itemXml.AppendFormat(" <{0}/>\r\n", name);
- }
- itemXml.AppendFormat("</{0}>", ItemType);
- } else {
- itemXml.Append("/>");
- }
- }
- } else {
- itemXml.AppendFormat("<{0}/>", ItemType);
- }
- Log.LogMessage(MessageImportance.High, itemXml.ToString());
- ]]>
- </Code>
- </Task>
- </UsingTask>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TASK QtRunWork
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Run work items in parallel processes.
- // Parameters:
- // in ITaskItem[] QtWork: work items
- // in int QtMaxProcs: maximum number of processes to run in parallel
- // in bool QtDebug: generate debug messages
- // out ITaskItem[] Result: list of new items with the result of each work item
- // -->
- <UsingTask
- TaskName="QtRunWork"
- TaskFactory="CodeTaskFactory"
- AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
- <ParameterGroup>
- <QtWork ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="true" />
- <QtMaxProcs ParameterType="System.Int32" Required="true" />
- <QtDebug ParameterType="System.Boolean" Required="true" />
- <Result Output="true" ParameterType="Microsoft.Build.Framework.ITaskItem[]" />
- </ParameterGroup>
- <Task>
- <Using Namespace="System"/>
- <Using Namespace="System.IO"/>
- <Using Namespace="System.Diagnostics"/>
- <Using Namespace="System.Collections.Generic"/>
- <Code Type="Fragment" Language="cs">
- <![CDATA[
- Result = new ITaskItem[] { };
- bool ok = true;
- var Comparer = StringComparer.InvariantCultureIgnoreCase;
- var Comparison = StringComparison.InvariantCultureIgnoreCase;
-
- // Work item key = "%(WorkType)(%(Identity))"
- Func<string, string, string> KeyString = (x, y) => string.Format("{0}{{{1}}}", x, y);
- Func<ITaskItem, string> Key = (item) =>
- KeyString(item.GetMetadata("WorkType"), item.ItemSpec);
- var workItemKeys = new HashSet<string>(QtWork.Select(x => Key(x)), Comparer);
-
- // Work items, indexed by %(Identity)
- var workItemsByIdentity = QtWork
- .GroupBy(x => x.ItemSpec, x => Key(x), Comparer)
- .ToDictionary(x => x.Key, x => new List<string>(x), Comparer);
-
- // Work items, indexed by work item key
- var workItems = QtWork.Select(x => new
- {
- Self = x,
- Key = Key(x),
- ToolPath = x.GetMetadata("ToolPath"),
- Message = x.GetMetadata("Message"),
- DependsOn = new HashSet<string>(comparer: Comparer,
- collection: x.GetMetadata("DependsOn")
- .Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries)
- .Where(y => workItemsByIdentity.ContainsKey(y))
- .SelectMany(y => workItemsByIdentity[y])
- .Union(x.GetMetadata("DependsOnWork")
- .Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries)
- .Select(y => KeyString(y, x.ItemSpec))
- .Where(y => workItemKeys.Contains(y)))
- .GroupBy(y => y, Comparer).Select(y => y.Key)
- .Where(y => !y.Equals(Key(x), Comparison))),
- ProcessStartInfo = new ProcessStartInfo
- {
- FileName = x.GetMetadata("ToolPath"),
- Arguments = x.GetMetadata("Options"),
- CreateNoWindow = true,
- UseShellExecute = false,
- RedirectStandardError = true,
- RedirectStandardOutput = true,
- },
- })
- // In case of items with duplicate keys, use only the first one
- .GroupBy(x => x.Key, Comparer)
- .ToDictionary(x => x.Key, x => x.First(), Comparer);
-
- // Result
- var result = workItems.Values
- .ToDictionary(x => x.Key, x => new TaskItem(x.Self));
-
- // Dependency relation [item -> dependent items]
- var dependentsOf = workItems.Values
- .Where(x => x.DependsOn.Any())
- .SelectMany(x => x.DependsOn.Select(y => new { Dependent = x.Key, Dependency = y }))
- .GroupBy(x => x.Dependency, x => x.Dependent, Comparer)
- .ToDictionary(x => x.Key, x => new List<string>(x), Comparer);
-
- // Work items that are ready to start; initially queue all independent items
- var workQueue = new Queue<string>(workItems.Values
- .Where(x => !x.DependsOn.Any())
- .Select(x => x.Key));
-
- if (QtDebug) {
- Log.LogMessage(MessageImportance.High,
- string.Format("## QtRunWork queueing\r\n## {0}",
- string.Join("\r\n## ", workQueue)));
- }
-
- // Postponed items; save dependent items to queue later when ready
- var postponedItems = new HashSet<string>(workItems.Values
- .Where(x => x.DependsOn.Any())
- .Select(x => x.Key));
-
- if (QtDebug && postponedItems.Any()) {
- Log.LogMessage(MessageImportance.High,
- string.Format("## QtRunWork postponed dependents\r\n## {0}",
- string.Join("\r\n## ", postponedItems
- .Select(x => string.Format("{0} <- {1}", x,
- string.Join(", ", workItems[x].DependsOn))))));
- }
-
- // Work items that are running; must synchronize with the exit of all processes
- var running = new Queue<KeyValuePair<string, Process>>();
-
- // Work items that have terminated
- var terminated = new HashSet<string>(Comparer);
-
- // While there are work items queued, start a process for each item
- while (ok && workQueue.Any()) {
-
- var workItem = workItems[workQueue.Dequeue()];
- Log.LogMessage(MessageImportance.High, workItem.Message);
-
- try {
- var proc = Process.Start(workItem.ProcessStartInfo);
- proc.OutputDataReceived += (object sender, DataReceivedEventArgs e) =>
- {
- if (!string.IsNullOrEmpty(e.Data))
- Log.LogMessage(MessageImportance.High, string.Join(" ", new[]
- {
- (QtDebug ? "[" + (((Process)sender).Id.ToString()) + "]" : ""),
- e.Data
- }));
- };
- proc.ErrorDataReceived += (object sender, DataReceivedEventArgs e) =>
- {
- if (!string.IsNullOrEmpty(e.Data))
- Log.LogMessage(MessageImportance.High, string.Join(" ", new[]
- {
- (QtDebug ? "[" + (((Process)sender).Id.ToString()) + "]" : ""),
- e.Data
- }));
- };
- proc.BeginOutputReadLine();
- proc.BeginErrorReadLine();
- running.Enqueue(new KeyValuePair<string, Process>(workItem.Key, proc));
- } catch (Exception e) {
- Log.LogError(
- string.Format("[QtRunWork] Error starting process {0}: {1}",
- workItem.ToolPath, e.Message));
- ok = false;
- }
-
- string qtDebugRunning = "";
- if (QtDebug) {
- qtDebugRunning = string.Format("## QtRunWork waiting {0}",
- string.Join(", ", running
- .Select(x => string.Format("{0} [{1}]", x.Key, x.Value.Id))));
- }
-
- // Wait for process to terminate when there are processes running, and...
- while (ok && running.Any()
- // ...work is queued but already reached the maximum number of processes, or...
- && ((workQueue.Any() && running.Count >= QtMaxProcs)
- // ...work queue is empty but there are dependents that haven't yet been queued
- || (!workQueue.Any() && postponedItems.Any()))) {
-
- var itemProc = running.Dequeue();
- workItem = workItems[itemProc.Key];
- var proc = itemProc.Value;
-
- if (QtDebug && !string.IsNullOrEmpty(qtDebugRunning)) {
- Log.LogMessage(MessageImportance.High, qtDebugRunning);
- qtDebugRunning = "";
- }
-
- if (proc.WaitForExit(100)) {
- if (QtDebug) {
- Log.LogMessage(MessageImportance.High,
- string.Format("## QtRunWork exit {0} [{1}] = {2} ({3:0.00} msecs)",
- workItem.Key, proc.Id, proc.ExitCode,
- (proc.ExitTime - proc.StartTime).TotalMilliseconds));
- }
-
- // Process terminated; check exit code and close
- terminated.Add(workItem.Key);
- result[workItem.Key].SetMetadata("ExitCode", proc.ExitCode.ToString());
- ok &= (proc.ExitCode == 0);
- proc.Close();
-
- // Add postponed dependent items to work queue
- if (ok && dependentsOf.ContainsKey(workItem.Key)) {
- // Dependents of workItem...
- var readyDependents = dependentsOf[workItem.Key]
- // ...that have not yet been queued...
- .Where(x => postponedItems.Contains(x)
- // ...and whose depending items have all terminated.
- && workItems[x].DependsOn.All(y => terminated.Contains(y)));
-
- if (QtDebug && readyDependents.Any()) {
- Log.LogMessage(MessageImportance.High,
- string.Format("## QtRunWork queueing\r\n## {0}",
- string.Join("\r\n## ", readyDependents)));
- }
-
- foreach (var dependent in readyDependents) {
- postponedItems.Remove(dependent);
- workQueue.Enqueue(dependent);
- }
- }
- } else {
- // Process is still running; feed it back into the running queue
- running.Enqueue(itemProc);
- }
- }
- }
-
- // If there are items still haven't been queued, that means a circular dependency exists
- if (ok && postponedItems.Any()) {
- ok = false;
- Log.LogError("[QtRunWork] Error: circular dependency");
- if (QtDebug) {
- Log.LogMessage(MessageImportance.High,
- string.Format("## QtRunWork circularity\r\n## {0}",
- string.Join("\r\n## ", postponedItems
- .Select(x => string.Format("{0} <- {1}", x,
- string.Join(", ", workItems[x].DependsOn))))));
- }
- }
-
- if (ok && QtDebug) {
- Log.LogMessage(MessageImportance.High,
- "## QtRunWork all work queued");
- if (running.Any()) {
- Log.LogMessage(MessageImportance.High,
- string.Format("## QtRunWork waiting {0}",
- string.Join(", ", running
- .Select(x => string.Format("{0} [{1}]", x.Key, x.Value.Id)))));
- }
- }
-
- // Wait for all running processes to terminate
- while (running.Any()) {
- var itemProc = running.Dequeue();
- var workItem = workItems[itemProc.Key];
- var proc = itemProc.Value;
- if (proc.WaitForExit(100)) {
- if (QtDebug) {
- Log.LogMessage(MessageImportance.High,
- string.Format("## QtRunWork exit {0} [{1}] = {2} ({3:0.00} msecs)",
- workItem.Key, proc.Id, proc.ExitCode,
- (proc.ExitTime - proc.StartTime).TotalMilliseconds));
- }
- // Process terminated; check exit code and close
- result[workItem.Key].SetMetadata("ExitCode", proc.ExitCode.ToString());
- ok &= (proc.ExitCode == 0);
- proc.Close();
- } else {
- // Process is still running; feed it back into the running queue
- running.Enqueue(itemProc);
- }
- }
-
- if (QtDebug) {
- Log.LogMessage(MessageImportance.High,
- string.Format("## QtRunWork result {0}", (ok ? "ok" : "FAILED!")));
- }
-
- Result = result.Values.ToArray();
- if (!ok)
- return false;
- ]]>
- </Code>
- </Task>
- </UsingTask>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TASK ParseVarDefs
- /////////////////////////////////////////////////////////////////////////////////////////////////
- //
- // -->
- <UsingTask TaskName="ParseVarDefs"
- TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
- <ParameterGroup>
- <QtVars Required="true"
- ParameterType="System.String"/>
- <OutVarDefs Output="true"
- ParameterType="Microsoft.Build.Framework.ITaskItem[]"/>
- </ParameterGroup>
- <Task>
- <Using Namespace="System"/>
- <Using Namespace="System.Text"/>
- <Using Namespace="System.Text.RegularExpressions"/>
- <Code Type="Fragment" Language="cs">
- <![CDATA[
- OutVarDefs = Regex.Matches(QtVars,
- @"\s*(\w+)\s*(?:;|=\s*(\w*)\s*(?:\/((?:\\.|[^;\/])*)\/((?:\\.|[^;\/])*)\/)?)?")
- .Cast<Match>()
- .Where((Match x) => x.Groups.Count > 4 && !string.IsNullOrEmpty(x.Groups[1].Value))
- .Select((Match x) => x.Groups
- .Cast<Group>()
- .Select((Group y) => !string.IsNullOrEmpty(y.Value) ? y.Value : null)
- .ToArray())
- .Select((string[] x) => new TaskItem(x[1],
- new Dictionary<string,string>
- {
- { "Name" , x[2] ?? x[1] },
- { "Pattern" , x[3] ?? ".*" },
- { "Value" , x[4] ?? "$0" },
- }))
- .ToArray();
- ]]>
- </Code>
- </Task>
- </UsingTask>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TASK GetVarsFromMakefile
- /////////////////////////////////////////////////////////////////////////////////////////////////
- //
- // -->
- <UsingTask TaskName="GetVarsFromMakefile"
- TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
- <ParameterGroup>
- <Makefile Required="true"
- ParameterType="System.String"/>
- <VarDefs Required="false"
- ParameterType="Microsoft.Build.Framework.ITaskItem[]"/>
- <ExcludeValues Required="true"
- ParameterType="System.String[]"/>
- <OutVars Output="true"
- ParameterType="Microsoft.Build.Framework.ITaskItem[]"/>
- </ParameterGroup>
- <Task>
- <Using Namespace="System"/>
- <Using Namespace="System.Text"/>
- <Using Namespace="System.Text.RegularExpressions"/>
- <Using Namespace="System.IO"/>
- <Code Type="Fragment" Language="cs">
- <![CDATA[
- var makefileVars = Regex.Matches(
- File.ReadAllText(Makefile),
- @"^(\w+)[^\=\r\n\S]*\=[^\r\n\S]*([^\r\n]+)[\r\n]",
- RegexOptions.Multiline).Cast<Match>()
- .Where(x => x.Groups.Count > 2 && x.Groups[1].Success && x.Groups[2].Success
- && !string.IsNullOrEmpty(x.Groups[1].Value))
- .GroupBy(x => x.Groups[1].Value)
- .ToDictionary(g => g.Key, g => g.Last().Groups[2].Value);
- OutVars = VarDefs
- .Where(x => makefileVars.ContainsKey(x.GetMetadata("Name")))
- .Select(x => new TaskItem(x.ItemSpec, new Dictionary<string,string>
- { {
- "Value",
- string.Join(";", Regex
- .Matches(makefileVars[x.GetMetadata("Name")], x.GetMetadata("Pattern"))
- .Cast<Match>()
- .Select(y => Regex
- .Replace(y.Value, x.GetMetadata("Pattern"), x.GetMetadata("Value")))
- .Where(y => !string.IsNullOrEmpty(y)
- && !ExcludeValues.Contains(y,
- StringComparer.InvariantCultureIgnoreCase))
- .ToHashSet())
- } }))
- .Where(x => !string.IsNullOrEmpty(x.GetMetadata("Value")))
- .ToArray();
- ]]>
- </Code>
- </Task>
- </UsingTask>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TASK Flatten
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Destructure items into a "flat" list of metadata. The output is a list of (Name, Value) pairs,
- // each corresponding to one item metadata. Semi-colon-separated lists will also expand to many
- // items in the output list, with the metadata name shared among them.
- // Example:
- // INPUT:
- // <QtMoc>
- // <InputFile>foo.h</InputFile>
- // <IncludePath>C:\FOO;D:\BAR</IncludePath>
- // </QtMoc>
- // OUTPUT:
- // <Result>
- // <Name>InputFile</Name>
- // <Value>foo.h</Value>
- // </Result>
- // <Result>
- // <Name>IncludePath</Name>
- // <Value>C:\FOO</Value>
- // </Result>
- // <Result>
- // <Name>IncludePath</Name>
- // <Value>D:\BAR</Value>
- // </Result>
- // Parameters:
- // in ITaskItem[] Items: list of items to flatten
- // in string[] Metadata: names of metadata to look for; omit to include all metadata
- // out ITaskItem[] Result: list of metadata from all items
- // -->
- <UsingTask TaskName="Flatten"
- TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
- <ParameterGroup>
- <Items ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="true" />
- <Metadata ParameterType="System.String[]" Required="false" />
- <Result ParameterType="Microsoft.Build.Framework.ITaskItem[]" Output="true" />
- </ParameterGroup>
- <Task>
- <Using Namespace="System"/>
- <Using Namespace="System.IO"/>
- <Using Namespace="System.Diagnostics"/>
- <Using Namespace="System.Collections.Generic"/>
- <Code Type="Fragment" Language="cs">
- <![CDATA[
- Result = new ITaskItem[] { };
- var reserved = new HashSet<string>
- {
- "AccessedTime", "CreatedTime", "DefiningProjectDirectory",
- "DefiningProjectExtension", "DefiningProjectFullPath", "DefiningProjectName",
- "Directory", "Extension", "Filename", "FullPath", "Identity", "ModifiedTime",
- "RecursiveDir", "RelativeDir", "RootDir",
- };
- if (Metadata == null)
- Metadata = new string[0];
- var requestedNames = new HashSet<string>(Metadata.Where(x => !string.IsNullOrEmpty(x)));
- var newItems = new List<ITaskItem>();
- foreach (var item in Items) {
- var itemName = item.ItemSpec;
- var names = item.MetadataNames.Cast<string>().Where(x => !reserved.Contains(x)
- && (!requestedNames.Any() || requestedNames.Contains(x)));
- foreach (string name in names) {
- var values = item.GetMetadata(name).Split(';');
- foreach (string value in values.Where(v => !string.IsNullOrEmpty(v))) {
- newItems.Add(new TaskItem(string.Format("{0}={1}", name, value),
- new Dictionary<string, string>
- {
- { "Item", itemName },
- { "Name", name },
- { "Value", value },
- }));
- }
- }
- }
- Result = newItems.ToArray();
- ]]>
- </Code>
- </Task>
- </UsingTask>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TASK HostTranslatePaths
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Translate local (Windows) paths to build host paths. This could be a Linux host for cross
- // compilation, or a simple copy (i.e. "no-op") when building in Windows.
- // Input and output items are in the form:
- // <...>
- // <Item>...</Item>
- // <Name>...</Name>
- // <Value>...</Value>
- // </...>
- // where <Item> is the local path, <Name> is a filter criteria identifier matched with the Names
- // parameter, and <Value> is set to the host path in output items (for input items <Value> must
- // be equal to <Item>).
- // Parameters:
- // in ITaskItem[] Items: input items with local paths
- // in string[] Names: filter criteria; unmatched items will simply be copied (i.e. no-op)
- // out ITaskItem[] Result: output items with translated host paths
- // -->
- <!--// Linux build over WSL -->
- <UsingTask TaskName="HostTranslatePaths" TaskFactory="CodeTaskFactory"
- Condition="'$(ApplicationType)' == 'Linux' AND '$(PlatformToolset)' == 'WSL_1_0'"
- AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll">
- <ParameterGroup>
- <Items ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="true" />
- <Names ParameterType="System.String[]" Required="false" />
- <Result ParameterType="Microsoft.Build.Framework.ITaskItem[]" Output="true" />
- </ParameterGroup>
- <Task>
- <Reference Include="$(VCTargetsPath)\Application Type\Linux\1.0\liblinux.dll"/>
- <Using Namespace="System.IO"/>
- <Using Namespace="liblinux"/>
- <Using Namespace="liblinux.IO"/>
- <Code Type="Fragment" Language="cs">
- <![CDATA[
- Result = new ITaskItem[] { };
- var newItems = new List<ITaskItem>();
- foreach (var item in Items) {
- string itemName = item.GetMetadata("Name");
- string itemValue = item.GetMetadata("Value");
- if (Names.Contains(itemName)) {
- if (Path.IsPathRooted(itemValue) && !itemValue.StartsWith("/"))
- itemValue = PathUtils.TranslateWindowsPathToWSLPath(itemValue);
- else
- itemValue = itemValue.Replace(@"\", "/");
- }
- newItems.Add(new TaskItem(item.ItemSpec,
- new Dictionary<string, string>
- {
- { "Item", item.GetMetadata("Item") },
- { "Name", itemName },
- { "Value", itemValue },
- }));
- }
- Result = newItems.ToArray();
- ]]>
- </Code>
- </Task>
- </UsingTask>
- <!--// Linux build over SSH -->
- <UsingTask TaskName="HostTranslatePaths" TaskFactory="CodeTaskFactory"
- Condition="'$(ApplicationType)' == 'Linux' AND '$(PlatformToolset)' != 'WSL_1_0'"
- AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll">
- <ParameterGroup>
- <Items ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="true" />
- <Names ParameterType="System.String[]" Required="false" />
- <Result ParameterType="Microsoft.Build.Framework.ITaskItem[]" Output="true" />
- </ParameterGroup>
- <Task>
- <Reference
- Include="$(VCTargetsPath)\Application Type\Linux\1.0\Microsoft.Build.Linux.Tasks.dll"/>
- <Code Type="Fragment" Language="cs">
- <![CDATA[
- Result = new ITaskItem[] { };
- var newItems = new List<ITaskItem>();
- foreach (var item in Items) {
- string itemName = item.GetMetadata("Name");
- string itemValue = item.GetMetadata("Value");
- if (Names.Contains(itemName)) {
- if (Path.IsPathRooted(itemValue) && !itemValue.StartsWith("/")) {
- var projectdir = new Uri(@"$(ProjectDir)");
- var itemFileName = Path.GetFileName(itemValue);
- var itemDirName = Path.GetFullPath(Path.GetDirectoryName(itemValue));
- if (!itemDirName.EndsWith(@"\"))
- itemDirName += @"\";
- var itemDir = new Uri(itemDirName);
- if (projectdir.IsBaseOf(itemDir)) {
- itemValue = projectdir.MakeRelativeUri(itemDir).OriginalString
- + itemFileName;
- } else {
- Log.LogWarning("Unable to translate path: {0}", itemValue);
- }
- } else {
- itemValue = itemValue.Replace(@"\", "/");
- }
- }
- newItems.Add(new TaskItem(item.ItemSpec,
- new Dictionary<string, string>
- {
- { "Item", item.GetMetadata("Item") },
- { "Name", itemName },
- { "Value", itemValue },
- }));
- }
- Result = newItems.ToArray();
- ]]>
- </Code>
- </Task>
- </UsingTask>
- <!--// Local (Windows) build -->
- <UsingTask TaskName="HostTranslatePaths" TaskFactory="CodeTaskFactory"
- Condition="'$(ApplicationType)' != 'Linux'"
- AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll">
- <ParameterGroup>
- <Items ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="true" />
- <Names ParameterType="System.String[]" Required="false" />
- <Result ParameterType="Microsoft.Build.Framework.ITaskItem[]" Output="true" />
- </ParameterGroup>
- <Task>
- <Code Type="Fragment" Language="cs">
- <![CDATA[
- Result = Items.ToArray();
- ]]>
- </Code>
- </Task>
- </UsingTask>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TASK HostExec
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Run command in build host.
- // Parameters:
- // in string Command: Command to run on the build host
- // in string RedirectStdOut: Path to file to receive redirected output messages
- // * can be NUL to discard messages
- // in string RedirectStdErr: Path to file to receive redirected error messages
- // * can be NUL to discard messages
- // * can be STDOUT to apply the same redirection as output messages
- // in string WorkingDirectory: Path to directory where command will be run
- // in ITaskItem[] Inputs: List of local -> host path mappings for command inputs
- // * item format: cf. HostTranslatePaths task
- // in ITaskItem[] Outputs: List of host -> local path mappings for command outputs
- // * item format: cf. HostTranslatePaths task
- // in string RemoteTarget: Set by ResolveRemoteDir in SSH mode; null otherwise
- // in string RemoteProjectDir: Set by ResolveRemoteDir in SSH mode; null otherwise
- // in bool IgnoreExitCode: Set flag to disable build error if command failed
- // out int ExitCode: status code at command exit
- // -->
- <!--// Linux build over WSL -->
- <UsingTask TaskName="HostExec" TaskFactory="CodeTaskFactory"
- Condition="'$(ApplicationType)' == 'Linux' AND '$(PlatformToolset)' == 'WSL_1_0'"
- AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll">
- <ParameterGroup>
- <!--IN-->
- <Message ParameterType="System.String" Required="false" />
- <Command ParameterType="System.String" Required="true" />
- <RedirectStdOut ParameterType="System.String" Required="false" />
- <RedirectStdErr ParameterType="System.String" Required="false" />
- <WorkingDirectory ParameterType="System.String" Required="false" />
- <Inputs ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="false" />
- <Outputs ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="false" />
- <RemoteTarget ParameterType="System.String" Required="false" />
- <RemoteProjectDir ParameterType="System.String" Required="false" />
- <IgnoreExitCode ParameterType="System.Boolean" Required="false" />
- <!--OUT-->
- <ExitCode ParameterType="System.Int32" Output="true" />
- </ParameterGroup>
- <Task>
- <Reference
- Include="$(VCTargetsPath)\Application Type\Linux\1.0\Microsoft.Build.Linux.Tasks.dll"/>
- <Code Type="Fragment" Language="cs">
- <![CDATA[
- if (!string.IsNullOrEmpty(Message))
- Log.LogMessage(MessageImportance.High, Message);
- Command = "(" + Command + ")";
- if (RedirectStdOut == "NUL" || RedirectStdOut == "/dev/null")
- Command += " 1> /dev/null";
- else if (!string.IsNullOrEmpty(RedirectStdOut))
- Command += " 1> " + RedirectStdOut;
- if (RedirectStdErr == "NUL" || RedirectStdErr == "/dev/null")
- Command += " 2> /dev/null";
- else if (RedirectStdErr == "STDOUT")
- Command += " 2>&1";
- else if (!string.IsNullOrEmpty(RedirectStdErr))
- Command += " 2> " + RedirectStdErr;
-
- var createDirs = new List<string>();
- if (Inputs != null) {
- createDirs.AddRange(Inputs
- .Select(x => string.Format("\x24(dirname {0})", x.GetMetadata("Value"))));
- }
- if (Outputs != null) {
- createDirs.AddRange(Outputs
- .Select(x => string.Format("\x24(dirname {0})", x.GetMetadata("Value"))));
- }
- if (!string.IsNullOrEmpty(WorkingDirectory)) {
- createDirs.Add(WorkingDirectory);
- Command = string.Format("cd {0}; {1}", WorkingDirectory, Command);
- }
- if (createDirs.Any()) {
- Command = string.Format("{0}; {1}",
- string.Join("; ", createDirs.Select(x => string.Format("mkdir -p {0}", x))),
- Command);
- }
-
- var taskExec = new Microsoft.Build.Linux.WSL.Tasks.ExecuteCommand()
- {
- BuildEngine = BuildEngine,
- HostObject = HostObject,
- ProjectDir = @"$(ProjectDir)",
- IntermediateDir = @"$(IntDir)",
- WSLPath = @"$(WSLPath)",
- Command = Command,
- };
- Log.LogMessage("\r\n==== HostExec: Microsoft.Build.Linux.WSL.Tasks.ExecuteCommand");
- Log.LogMessage("ProjectDir: {0}", taskExec.ProjectDir);
- Log.LogMessage("IntermediateDir: {0}", taskExec.IntermediateDir);
- Log.LogMessage("WSLPath: {0}", taskExec.WSLPath);
- Log.LogMessage("Command: {0}", taskExec.Command);
-
- bool ok = taskExec.Execute();
- Log.LogMessage("== {0} ExitCode: {1}\r\n", ok ? "OK" : "FAIL", taskExec.ExitCode);
-
- ExitCode = taskExec.ExitCode;
- if (!ok && !IgnoreExitCode) {
- Log.LogError("Host command failed.");
- return false;
- }
- ]]>
- </Code>
- </Task>
- </UsingTask>
- <!--// Linux build over SSH -->
- <UsingTask TaskName="HostExec" TaskFactory="CodeTaskFactory"
- Condition="'$(ApplicationType)' == 'Linux' AND '$(PlatformToolset)' != 'WSL_1_0'"
- AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll">
- <ParameterGroup>
- <!--IN-->
- <Message ParameterType="System.String" Required="false" />
- <Command ParameterType="System.String" Required="true" />
- <RedirectStdOut ParameterType="System.String" Required="false" />
- <RedirectStdErr ParameterType="System.String" Required="false" />
- <WorkingDirectory ParameterType="System.String" Required="false" />
- <Inputs ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="false" />
- <Outputs ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="false" />
- <RemoteTarget ParameterType="System.String" Required="false" />
- <RemoteProjectDir ParameterType="System.String" Required="false" />
- <IgnoreExitCode ParameterType="System.Boolean" Required="false" />
- <!--OUT-->
- <ExitCode ParameterType="System.Int32" Output="true" />
- </ParameterGroup>
- <Task>
- <Reference
- Include="$(VCTargetsPath)\Application Type\Linux\1.0\Microsoft.Build.Linux.Tasks.dll"/>
- <Code Type="Fragment" Language="cs">
- <![CDATA[
- if (!string.IsNullOrEmpty(Message))
- Log.LogMessage(MessageImportance.High, Message);
- var createDirs = new List<string>
- {
- string.Format("{0}/{1}", RemoteProjectDir, WorkingDirectory)
- };
-
- var localFilesToCopyRemotelyMapping = new string[0];
- if (Inputs != null) {
- localFilesToCopyRemotelyMapping = Inputs
- .Select(x => string.Format(@"{0}:={1}/{2}",
- x.GetMetadata("Item"),
- RemoteProjectDir,
- x.GetMetadata("Value")))
- .ToArray();
- createDirs.AddRange(Inputs
- .Select(x => string.Format("\x24(dirname {0})", x.GetMetadata("Value"))));
- }
-
- var remoteFilesToCopyLocallyMapping = new string[0];
- if (Outputs != null) {
- remoteFilesToCopyLocallyMapping = Outputs
- .Select(x => string.Format(@"{0}/{1}:={2}",
- RemoteProjectDir,
- x.GetMetadata("Value"),
- x.GetMetadata("Item")))
- .ToArray();
- createDirs.AddRange(Outputs
- .Select(x => string.Format("\x24(dirname {0})", x.GetMetadata("Value"))));
- }
-
- Command = "(" + Command + ")";
- if (RedirectStdOut == "NUL" || RedirectStdOut == "/dev/null")
- Command += " 1> /dev/null";
- else if (!string.IsNullOrEmpty(RedirectStdOut))
- Command += " 1> " + RedirectStdOut;
- if (RedirectStdErr == "NUL" || RedirectStdErr == "/dev/null")
- Command += " 2> /dev/null";
- else if (RedirectStdErr == "STDOUT")
- Command += " 2>&1";
- else if (!string.IsNullOrEmpty(RedirectStdErr))
- Command += " 2> " + RedirectStdErr;
- Command = string.Format("cd {0}/{1}; {2}", RemoteProjectDir, WorkingDirectory, Command);
-
- var taskCopyFiles = new Microsoft.Build.Linux.Tasks.Execute()
- {
- BuildEngine = BuildEngine,
- HostObject = HostObject,
- ProjectDir = @"$(ProjectDir)",
- IntermediateDir = @"$(IntDir)",
- RemoteTarget = RemoteTarget,
- RemoteProjectDir = RemoteProjectDir,
- Command = string.Join("; ", createDirs.Select(x => string.Format("mkdir -p {0}", x))),
- LocalFilesToCopyRemotelyMapping = localFilesToCopyRemotelyMapping,
- };
- var taskExec = new Microsoft.Build.Linux.Tasks.Execute()
- {
- BuildEngine = BuildEngine,
- HostObject = HostObject,
- ProjectDir = @"$(ProjectDir)",
- IntermediateDir = @"$(IntDir)",
- RemoteTarget = RemoteTarget,
- RemoteProjectDir = RemoteProjectDir,
- Command = Command,
- RemoteFilesToCopyLocallyMapping = remoteFilesToCopyLocallyMapping,
- };
-
- Log.LogMessage("\r\n==== HostExec: Microsoft.Build.Linux.Tasks.Execute");
- Log.LogMessage("ProjectDir: {0}", taskExec.ProjectDir);
- Log.LogMessage("IntermediateDir: {0}", taskExec.IntermediateDir);
- Log.LogMessage("RemoteTarget: {0}", taskExec.RemoteTarget);
- Log.LogMessage("RemoteProjectDir: {0}", taskExec.RemoteProjectDir);
- if (taskExec.LocalFilesToCopyRemotelyMapping.Any())
- Log.LogMessage("LocalFilesToCopyRemotelyMapping: {0}",
- taskExec.LocalFilesToCopyRemotelyMapping);
- if (taskExec.RemoteFilesToCopyLocallyMapping.Any())
- Log.LogMessage("RemoteFilesToCopyLocallyMapping: {0}",
- taskExec.RemoteFilesToCopyLocallyMapping);
- Log.LogMessage("CreateDirs: {0}", taskCopyFiles.Command);
- Log.LogMessage("Command: {0}", taskExec.Command);
-
- if (!taskCopyFiles.ExecuteTool())
- return false;
- bool ok = taskExec.ExecuteTool();
- Log.LogMessage("== {0} ExitCode: {1}\r\n", ok ? "OK" : "FAIL", taskExec.ExitCode);
-
- ExitCode = taskExec.ExitCode;
- if (!ok && !IgnoreExitCode) {
- Log.LogError("Host command failed.");
- return false;
- }
- ]]>
- </Code>
- </Task>
- </UsingTask>
- <!--// Local (Windows) build -->
- <UsingTask TaskName="HostExec" TaskFactory="CodeTaskFactory"
- Condition="'$(ApplicationType)' != 'Linux'"
- AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll">
- <ParameterGroup>
- <!--IN-->
- <Message ParameterType="System.String" Required="false" />
- <Command ParameterType="System.String" Required="true" />
- <RedirectStdOut ParameterType="System.String" Required="false" />
- <RedirectStdErr ParameterType="System.String" Required="false" />
- <WorkingDirectory ParameterType="System.String" Required="false" />
- <Inputs ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="false" />
- <Outputs ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="false" />
- <RemoteTarget ParameterType="System.String" Required="false" />
- <RemoteProjectDir ParameterType="System.String" Required="false" />
- <IgnoreExitCode ParameterType="System.Boolean" Required="false" />
- <!--OUT-->
- <ExitCode ParameterType="System.Int32" Output="true" />
- </ParameterGroup>
- <Task>
- <Reference Include="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll"/>
- <Reference Include="$(MSBuildToolsPath)\Microsoft.Build.Utilities.Core.dll"/>
- <Code Type="Fragment" Language="cs">
- <![CDATA[
- if (!string.IsNullOrEmpty(Message))
- Log.LogMessage(MessageImportance.High, Message);
- Command = "(" + Command + ")";
- if (RedirectStdOut == "NUL" || RedirectStdOut == "/dev/null")
- Command += " 1> NUL";
- else if (!string.IsNullOrEmpty(RedirectStdOut))
- Command += " 1> " + RedirectStdOut;
- if (RedirectStdErr == "NUL" || RedirectStdErr == "/dev/null")
- Command += " 2> NUL";
- else if (RedirectStdErr == "STDOUT")
- Command += " 2>&1";
- else if (!string.IsNullOrEmpty(RedirectStdErr))
- Command += " 2> " + RedirectStdErr;
-
- var taskExec = new Microsoft.Build.Tasks.Exec()
- {
- BuildEngine = BuildEngine,
- HostObject = HostObject,
- WorkingDirectory = WorkingDirectory,
- Command = Command,
- IgnoreExitCode = IgnoreExitCode,
- };
-
- Log.LogMessage("\r\n==== HostExec: Microsoft.Build.Tasks.Exec");
- Log.LogMessage("WorkingDirectory: {0}", taskExec.WorkingDirectory);
- Log.LogMessage("Command: {0}", taskExec.Command);
-
- bool ok = taskExec.Execute();
- Log.LogMessage("== {0} ExitCode: {1}\r\n", ok ? "OK" : "FAIL", taskExec.ExitCode);
-
- ExitCode = taskExec.ExitCode;
- if (!ok)
- return false;
- ]]>
- </Code>
- </Task>
- </UsingTask>
-</Project>
diff --git a/Source/VSProps/qtmoc.targets b/Source/VSProps/qtmoc.targets
deleted file mode 100644
index d4db08f43a..0000000000
--- a/Source/VSProps/qtmoc.targets
+++ /dev/null
@@ -1,510 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/****************************************************************************
-**
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt VS Tools.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
--->
-
-<!--
-///////////////////////////////////////////////////////////////////////////////////////////////////
-// Definitions specific to moc
-///////////////////////////////////////////////////////////////////////////////////////////////////
-// -->
-<Project>
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Import pre-requisites
- // -->
- <Import
- Condition="'$(QtMsBuildTargets_BeforeMoc)' != ''"
- Project="$(QtMsBuildTargets_BeforeMoc)"/>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Qt/MSBuild global properties
- // -->
- <PropertyGroup>
- <QtBuildTargets>QtMoc;$(QtBuildTargets)</QtBuildTargets>
- </PropertyGroup>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Setup item type and property page
- // -->
- <Choose>
- <When Condition="'$(QtVsProjectSettings)' == 'true' AND '$(QtVsProjectClProperties)' == 'true'">
- <ItemGroup>
- <PropertyPageSchema
- Include="$(MSBuildThisFileDirectory)qtmoc_v3.xml" />
- </ItemGroup>
- </When>
- <Otherwise>
- <ItemGroup Condition="'$(QtVsProjectSettings)' == 'false'">
- <PropertyPageSchema
- Include="$(MSBuildThisFileDirectory)qtmoc.xml" />
- </ItemGroup>
- </Otherwise>
- </Choose>
- <ItemGroup>
- <AvailableItemName Include="QtMoc">
- <Targets>Qt;_ClCompile</Targets>
- </AvailableItemName>
- </ItemGroup>
- <PropertyGroup>
- <QtMocRuleName>QtRule30_Moc</QtMocRuleName>
- </PropertyGroup>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TARGET QtMocInit
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Initialize default metadata
- // -->
- <Target Name="QtMocInit">
- <!--// Initialize %(OutputFile) -->
- <ItemGroup Condition="'$(QtVsProjectSettings)' == 'true' AND '@(QtMoc)' != ''">
- <QtMocAux Include="@(QtMoc)">
- <OutputFile
- >$([System.IO.Path]::Combine('%(QtMoc.QtMocDir)','%(QtMoc.QtMocFileName)'))</OutputFile>
- </QtMocAux>
- <QtMoc Remove="@(QtMoc)"/>
- <QtMoc Include="@(QtMocAux)"/>
- <QtMocAux Remove="@(QtMocAux)"/>
- </ItemGroup>
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Add moc output dir to C++ include path
- // -->
- <ItemGroup Condition="'@(QtMoc)' != ''">
- <QtIncludePath Include="$([System.IO.Path]::GetDirectoryName('%(QtMoc.OutputFile)'))"/>
- </ItemGroup>
- </Target>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TARGET QtMocPrepare
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Prepare to process sources
- // -->
- <Target Name="QtMocPrepare" DependsOnTargets="_SelectedFiles;QtMocInit"
- Inputs="%(QtMoc.Identity)" Outputs="@(QtMoc->'####### Don't skip this target #######')">
-
- <Message Importance="High" Condition="'$(QtDebug)' == 'true'"
- Text="## QtMocPrepare @(QtMoc)"/>
-
- <PropertyGroup>
- <selected_files>[@(SelectedFiles->'%(Identity)','][')]</selected_files>
- <file>[@(QtMoc->'%(Identity)')]</file>
- <output_file>@(QtMoc->'%(OutputFile)')</output_file>
- <is_selected Condition="$(selected_files.Contains('$(file)'))">true</is_selected>
- <is_selected Condition="!$(selected_files.Contains('$(file)'))">false</is_selected>
- </PropertyGroup>
-
- <!--// Delete output file to force build of source if it was manually selected to build
- // (e.g. by the 'Compile' option in the context menu for the file) -->
- <Delete Files="$(output_file)"
- Condition="'$(SelectedFiles)' != '' AND '$(is_selected)' == 'true'" />
-
- <!--// If a source was manually selected to build, remove all other sources -->
- <ItemGroup Condition="'@(SelectedFiles)' != ''">
- <QtMoc Remove="@(QtMoc)"
- Condition="'$(SelectedFiles)' != '' AND '$(is_selected)' != 'true'" />
- </ItemGroup>
-
- <!--// Remove sources excluded from build -->
- <ItemGroup>
- <QtMoc Remove="@(QtMoc)"
- Condition="'$(SelectedFiles)' == '' AND '%(QtMoc.ExcludedFromBuild)' == 'true'"/>
- </ItemGroup>
-
- <PropertyGroup>
- <selected_files/>
- <file/>
- <output_file/>
- <is_selected/>
- </PropertyGroup>
- </Target>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TARGET QtMocSetModified
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Set InputChanged flag if source file or dependencies have been modified
- // -->
- <Target Name="QtMocSetModified" DependsOnTargets="QtMocPrepare"
- Condition="'@(QtMoc)' != ''"
- Inputs="%(QtMoc.FullPath);%(QtMoc.AdditionalDependencies)" Outputs="@(QtMoc->'%(OutputFile)')">
-
- <Message Importance="High" Condition="'$(QtDebug)' == 'true'"
- Text="## QtMocSetModified @(QtMoc)" />
-
- <CreateProperty Value="true">
- <Output TaskParameter="ValueSetByTask" PropertyName="input_changed" />
- </CreateProperty>
- <ItemGroup>
- <QtMoc>
- <InputChanged>$(input_changed)</InputChanged>
- </QtMoc>
- </ItemGroup>
- </Target>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TARGET QtMocOverrideCpp
- /////////////////////////////////////////////////////////////////////////////////////////////////
- //
- // -->
- <Import Project="qtmoc_cl.targets"/>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TARGET QtMoc
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Process each source file and produce the corresponding QtWork items
- // -->
- <PropertyGroup>
- <QtMocDependsOn>
- QtPrepare;
- QtMocPrepare;
- QtMocSetModified;
- QtMocOverrideCpp;
- $(QtMocDependsOn)
- </QtMocDependsOn>
- </PropertyGroup>
- <Target Name="QtMoc"
- DependsOnTargets="$(QtMocDependsOn)"
- BeforeTargets="$(QtMocBeforeTargets)" AfterTargets="$(QtMocAfterTargets)"
- Condition="'@(QtMoc)' != ''"
- Inputs="%(QtMoc.FullPath);%(QtMoc.AdditionalDependencies);$(MSBuildProjectFile)"
- Outputs="@(QtMoc->'%(OutputFile)')">
-
- <Message Importance="High" Condition="'$(QtDebug)' == 'true'" Text="## QtMoc @(QtMoc)" />
-
- <CreateProperty Value="true">
- <Output TaskParameter="ValueSetByTask" PropertyName="dependencies_changed" />
- </CreateProperty>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Convert string lists in source item properties to lists of items
- // -->
- <Flatten Items="@(QtMoc)"
- Metadata="InputFile;
- OutputFile;
- IncludePath;
- MacFramework;
- PreprocessOnly;
- Define;
- Undefine;
- Metadata;
- CompilerFlavor;
- NoInclude;
- PathPrefix;
- ForceInclude;
- PrependInclude;
- Include;
- NoNotesWarnings;
- NoNotes;
- NoWarnings;
- IgnoreConflicts;
- OptionsFile">
- <Output
- TaskParameter="Result" ItemName="options" />
- </Flatten>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Translate local paths to build host paths
- // -->
- <HostTranslatePaths
- Items="@(options)"
- Names="InputFile;
- OutputFile;
- IncludePath;
- MacFramework;
- PathPrefix;
- ForceInclude;
- PrependInclude;
- Include;
- OptionsFile">
- <Output
- TaskParameter="Result" ItemName="HostPath" />
- </HostTranslatePaths>
- <ItemGroup>
- <options Condition="'%(Identity)' != ''">
- <Value>@(HostPath->'%(Value)')</Value>
- </options>
- </ItemGroup>
-
- <ItemGroup>
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////
- // Escape double-quotes in macro definitions
- // -->
- <options>
- <Value Condition="('%(Name)' == 'Define' OR '%(Name)' == 'Undefine')
- AND ($([System.String]::Copy('%(Value)').Contains(' '))
- OR $([System.String]::Copy('%(Value)').Contains('&quot;')))"
- > &quot;$([System.String]::Copy('%(Value)').Replace('&quot;', '\&quot;'))&quot;</Value>
- </options>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////
- // Remove quotes from all paths
- // Escape trailing back-slash in paths
- // Add quotes to paths containing spaces
- // -->
- <options>
- <Value Condition="'%(Name)' == 'InputFile' OR '%(Name)' == 'OutputFile'
- OR '%(Name)' == 'IncludePath' OR '%(Name)' == 'MacFramework' OR '%(Name)' == 'PathPrefix'
- OR '%(Name)' == 'ForceInclude' OR '%(Name)' == 'PrependInclude' OR '%(Name)' == 'Include'
- OR '%(Name)' == 'OptionsFile'"
- >$([System.String]::Copy('%(Value)').Replace('&quot;', ''))</Value>
- </options>
-
- <options>
- <Value Condition="('%(Name)' == 'InputFile' OR '%(Name)' == 'OutputFile'
- OR '%(Name)' == 'IncludePath' OR '%(Name)' == 'MacFramework' OR '%(Name)' == 'PathPrefix'
- OR '%(Name)' == 'ForceInclude' OR '%(Name)' == 'PrependInclude' OR '%(Name)' == 'Include'
- OR '%(Name)' == 'OptionsFile')
- AND $([System.String]::Copy('%(Value)').Contains(' '))
- AND $([System.String]::Copy('%(Value)').EndsWith('\'))"
- >%(Value)\</Value>
- </options>
-
- <options>
- <Value Condition="('%(Name)' == 'InputFile' OR '%(Name)' == 'OutputFile'
- OR '%(Name)' == 'IncludePath' OR '%(Name)' == 'MacFramework' OR '%(Name)' == 'PathPrefix'
- OR '%(Name)' == 'ForceInclude' OR '%(Name)' == 'PrependInclude' OR '%(Name)' == 'Include'
- OR '%(Name)' == 'OptionsFile')
- AND $([System.String]::Copy('%(Value)').Contains(' '))"
- >&quot;%(Value)&quot;</Value>
- </options>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Generate tool command line arguments
- // -->
- <!--// [header-file] Header file to read from -->
- <options>
- <Value Condition="'%(Name)' == 'InputFile'">%(Value)</Value>
- </options>
-
- <!--// -o <file> Write output to file -->
- <options>
- <Value Condition="'%(Name)' == 'OutputFile'">-o %(Value)</Value>
- </options>
-
- <!--// -I <dir> Add dir to the include path for header files -->
- <options>
- <Value Condition="'%(Name)' == 'IncludePath'">-I%(Value)</Value>
- </options>
-
- <!--// -F <framework> Add macOS framework to the include path for headers -->
- <options>
- <Value Condition="'%(Name)' == 'MacFramework'">-F %(Value)</Value>
- </options>
-
- <!--// -E Preprocess only; do not generate meta object code -->
- <options>
- <Value Condition="'%(Name)' == 'PreprocessOnly' AND '%(Value)' != 'true'"></Value>
- </options>
- <options>
- <Value Condition="'%(Name)' == 'PreprocessOnly' AND '%(Value)' == 'true'">-E</Value>
- </options>
-
- <!--// -D <macro[=def]> Define macro, with optional definition -->
- <options>
- <Value Condition="'%(Name)' == 'Define'">-D%(Value)</Value>
- </options>
-
- <!--// -U <macro> Undefine macro-->
- <options>
- <Value Condition="'%(Name)' == 'Undefine'">-U%(Value)</Value>
- </options>
-
- <!--// -M <key=value> Add key/value pair to plugin meta data -->
- <options>
- <Value Condition="'%(Name)' == 'Metadata'">-M%(Value)</Value>
- </options>
-
- <!--// -compiler-flavor <flavor> Set the compiler flavor: either "msvc" or "unix" -->
- <options>
- <Value Condition="'%(Name)' == 'CompilerFlavor'">--compiler-flavor %(Value)</Value>
- </options>
-
- <!--// -i Do not generate an #include statement -->
- <options>
- <Value Condition="'%(Name)' == 'NoInclude' AND '%(Value)' != 'true'"></Value>
- </options>
- <options>
- <Value Condition="'%(Name)' == 'NoInclude' AND '%(Value)' == 'true'">-i</Value>
- </options>
-
- <!--// -p <path> Path prefix for included file -->
- <options>
- <Value Condition="'%(Name)' == 'PathPrefix'">-p%(Value)</Value>
- </options>
-
- <!--// -f <file> Force #include <file> (overwrite default) -->
- <options>
- <Value Condition="'%(Name)' == 'ForceInclude'">-f %(Value)</Value>
- </options>
-
- <!--// -b <file> Prepend #include <file> (preserve default include) -->
- <options>
- <Value Condition="'%(Name)' == 'PrependInclude'">-b %(Value)</Value>
- </options>
-
- <!--// -include <file> Parse <file> as an #include before the main source(s) -->
- <options>
- <Value Condition="'%(Name)' == 'Include'">--include %(Value)</Value>
- </options>
-
- <!--// -n <which> Do not display notes (-nn) or warnings (-nw) -->
- <options>
- <Value Condition="'%(Name)' == 'NoNotesWarnings'">-n%(Value)</Value>
- </options>
-
- <!--// -no-notes Do not display notes -->
- <options>
- <Value Condition="'%(Name)' == 'NoNotes' AND '%(Value)' != 'true'"></Value>
- </options>
- <options>
- <Value Condition="'%(Name)' == 'NoNotes' AND '%(Value)' == 'true'">--no-notes</Value>
- </options>
-
- <!--// -no-warnings Do not display warnings (implies -no-notes) -->
- <options>
- <Value Condition="'%(Name)' == 'NoWarnings' AND '%(Value)' != 'true'"></Value>
- </options>
- <options>
- <Value Condition="'%(Name)' == 'NoWarnings' AND '%(Value)' == 'true'">--no-warnings</Value>
- </options>
-
- <!--// -ignore-option-clashes Ignore all options that conflict with compilers -->
- <options>
- <Value Condition="'%(Name)' == 'IgnoreConflicts' AND '%(Value)' != 'true'"></Value>
- </options>
- <options>
- <Value Condition="'%(Name)' == 'IgnoreConflicts' AND '%(Value)' == 'true'"
- >--ignore-option-clashes</Value>
- </options>
-
- <!--// [@option-file] Read additional options from option-file-->
- <options>
- <Value Condition="'%(Name)' == 'OptionsFile'">@%(Value)</Value>
- </options>
- </ItemGroup>
- <PropertyGroup>
- <options>@(options->'%(Value)', ' ')</options>
- </PropertyGroup>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Aux properties
- // -->
- <PropertyGroup>
- <!--// Force modified flag if source was manually selected to build -->
- <input_changed Condition="'$(SelectedFiles)' != ''"
- >true</input_changed>
- <input_changed Condition="'$(SelectedFiles)' == ''"
- >%(QtMoc.InputChanged)</input_changed>
-
- <!--// Run work in parallel processes -->
- <run_parallel Condition="'@(QtMoc)' != ''
- AND '%(QtMoc.ParallelProcess)' == 'true'
- AND '$(SelectedFiles)' == ''"
- >true</run_parallel>
-
- <!--// Run work in single process -->
- <run_single Condition="'@(QtMoc)' != ''
- AND ('%(QtMoc.ParallelProcess)' != 'true'
- OR '$(SelectedFiles)' != '')"
- >true</run_single>
-
- <!--// Get relative path to output -->
- <output_relative
->$([MSBuild]::MakeRelative($(ProjectDir), %(QtMoc.OutputFile)).TrimStart('\'))</output_relative>
-
- <!--// Get relative path to input -->
- <input_relative
->$([MSBuild]::MakeRelative($(ProjectDir), %(QtMoc.InputFile)).TrimStart('\'))</input_relative>
- </PropertyGroup>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Create work item
- // -->
- <ItemGroup Condition="'$(run_parallel)' == 'true' OR '$(run_single)' == 'true'">
- <QtWork Include="@(QtMoc)">
- <WorkType>moc</WorkType>
- <ToolPath Condition="'$(QtVsProjectSettings)' == 'true'"
- >$(QtToolsPath)/moc</ToolPath>
- <ToolPath Condition="'$(QtVsProjectSettings)' != 'true'"
- >%(QtMoc.QTDIR)\bin\moc.exe</ToolPath>
- <Options>$(options)</Options>
- <Message>%(QtMoc.ExecutionDescription)</Message>
- <DependenciesChanged>$(dependencies_changed)</DependenciesChanged>
- <InputChanged>$(input_changed)</InputChanged>
- <ParallelBuild Condition="'$(run_parallel)' == 'true'">true</ParallelBuild>
- <ParallelBuild Condition="'$(run_single)' == 'true'">false</ParallelBuild>
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////
- // C++ dynamic source -->
- <ClCompile Condition="'%(QtMoc.DynamicSource)' == 'output'">$(output_relative)</ClCompile>
- <ClCompile Condition="'%(QtMoc.DynamicSource)' == 'input'">$(input_relative)</ClCompile>
- </QtWork>
- </ItemGroup>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Clean-up
- // -->
- <PropertyGroup>
- <options/>
- <dependencies_changed/>
- <input_changed/>
- <run_parallel/>
- <run_single/>
- <output_relative/>
- <input_relative/>
- </PropertyGroup>
- <ItemGroup>
- <options Remove="@(options)"/>
- </ItemGroup>
- </Target>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Import dependants
- // -->
- <Import
- Condition="'$(QtMsBuildTargets_AfterMoc)' != ''"
- Project="$(QtMsBuildTargets_AfterMoc)"/>
-
-</Project>
diff --git a/Source/VSProps/qtmoc.xml b/Source/VSProps/qtmoc.xml
deleted file mode 100644
index 200771e114..0000000000
--- a/Source/VSProps/qtmoc.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<ProjectSchemaDefinitions xmlns="http://schemas.microsoft.com/build/2009/properties">
- <ItemType Name="QtMoc" DisplayName="Qt Meta Object File" />
- <ContentType Name="QtMoc" DisplayName="Qt Meta Object Compiler" />
-</ProjectSchemaDefinitions> \ No newline at end of file
diff --git a/Source/VSProps/qtmoc_cl.targets b/Source/VSProps/qtmoc_cl.targets
deleted file mode 100644
index e77bcf4197..0000000000
--- a/Source/VSProps/qtmoc_cl.targets
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- *****************************************************************************
- **
- ** Copyright (C) 2019 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the Qt VS Tools.
- **
- ** $QT_BEGIN_LICENSE:GPL-EXCEPT$
- ** Commercial License Usage
- ** Licensees holding valid commercial Qt licenses may use this file in
- ** accordance with the commercial license agreement provided with the
- ** Software or, alternatively, in accordance with the terms contained in
- ** a written agreement between you and The Qt Company. For licensing terms
- ** and conditions see https://www.qt.io/terms-conditions. For further
- ** information use the contact form at https://www.qt.io/contact-us.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 3 as published by the Free Software
- ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
- ** included in the packaging of this file. Please review the following
- ** information to ensure the GNU General Public License requirements will
- ** be met: https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- *****************************************************************************
--->
-<Project>
- <Target Name="QtMocOverrideCpp" DependsOnTargets="QtMocPrepare;QtGetDefaultClCompile"
- Inputs="%(QtMoc.Identity)" Outputs="@(QtMoc->'####### Don't skip this target #######')">
-
- <Message Importance="High" Condition="'$(QtDebug)' == 'true'"
- Text="## QtMocOverrideCpp @(QtMoc)" />
- <!--
- NOTE: This implementation was a template, which has been manually edited
- for dolphin-emu specific behavior (carries over defines but not includes)
- -->
- <ItemGroup>
- <QtMoc>
- <IncludePath></IncludePath>
- <Define>%(ClCompile.PreprocessorDefinitions)</Define>
- <Undefine></Undefine>
- </QtMoc>
- </ItemGroup>
- </Target>
-</Project>
diff --git a/Source/VSProps/qtrcc.targets b/Source/VSProps/qtrcc.targets
deleted file mode 100644
index 3b60e5848c..0000000000
--- a/Source/VSProps/qtrcc.targets
+++ /dev/null
@@ -1,580 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/***************************************************************************************************
- Copyright (C) 2023 The Qt Company Ltd.
- SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
-***************************************************************************************************/
--->
-
-<!--
-///////////////////////////////////////////////////////////////////////////////////////////////////
-/// Definitions specific to rcc
-///////////////////////////////////////////////////////////////////////////////////////////////////
-// -->
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Import pre-requisites
- // -->
- <Import
- Condition="'$(QtMsBuildTargets_BeforeRcc)' != ''"
- Project="$(QtMsBuildTargets_BeforeRcc)"/>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Qt/MSBuild global properties
- // -->
- <PropertyGroup>
- <QtBuildTargets>QtRcc;$(QtBuildTargets)</QtBuildTargets>
- </PropertyGroup>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Setup item type and property page
- // -->
- <Choose>
- <When Condition="'$(QtVsProjectSettings)' == 'true' AND '$(QtVsProjectClProperties)' == 'true'">
- <ItemGroup>
- <PropertyPageSchema
- Include="$(MSBuildThisFileDirectory)qtrcc_v3.xml" />
- </ItemGroup>
- </When>
- <Otherwise>
- <ItemGroup>
- <PropertyPageSchema
- Include="$(MSBuildThisFileDirectory)qtrcc.xml" />
- </ItemGroup>
- </Otherwise>
- </Choose>
- <ItemGroup>
- <AvailableItemName Include="QtRcc">
- <Targets>Qt;_ClCompile</Targets>
- </AvailableItemName>
- </ItemGroup>
- <PropertyGroup>
- <QtRccRuleName>QtRule40_Rcc</QtRccRuleName>
- </PropertyGroup>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TARGET QtRccInit
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Initialize default metadata
- // -->
- <Target Name="QtRccInit">
- <!--// Initialize %(OutputFile) -->
- <ItemGroup Condition="'$(QtVsProjectSettings)' == 'true' AND '@(QtRcc)' != ''">
- <QtRccAux Include="@(QtRcc)">
- <OutputFile
- >$([System.IO.Path]::Combine('%(QtRcc.QtRccDir)','%(QtRcc.QtRccFileName)'))</OutputFile>
- </QtRccAux>
- <QtRcc Remove="@(QtRcc)"/>
- <QtRcc Include="@(QtRccAux)"/>
- <QtRccAux Remove="@(QtRccAux)"/>
- </ItemGroup>
- </Target>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TARGET QtRccSetDependencies
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Add resource files as dependencies of the QRC file
- // -->
- <Target Name="QtRccSetDependencies" DependsOnTargets="QtRccInit"
- Inputs="%(QtRcc.Identity)" Outputs="@(QtRcc->'####### Don't skip this target #######')">
- <ItemGroup>
- <selected_files Include="$(SelectedFiles)"/>
- </ItemGroup>
-
- <!--// Parse QRC -->
- <ListQrc QrcFilePath="%(QtRcc.FullPath)">
- <Output TaskParameter="Result" ItemName="res_file"/>
- </ListQrc>
-
- <!--// Add dependencies -->
- <ItemGroup Condition="'@(QtRcc)' != '' AND '@(res_file)' != ''">
- <QtRcc>
- <ResourceFiles>@(res_file)</ResourceFiles>
- <AdditionalDependencies
- >%(QtRcc.AdditionalDependencies);@(res_file->'%(FullPath)')</AdditionalDependencies>
- </QtRcc>
- </ItemGroup>
-
- <!--// Clean-up -->
- <PropertyGroup>
- <QtRccExeQuoted/>
- <QtRccQuoted/>
- <RccListQuoted/>
- </PropertyGroup>
- <ItemGroup>
- <res_file Remove="@(res_file)"/>
- </ItemGroup>
- </Target>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TARGET QtRccPrepare
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Prepare items for processing
- // -->
- <Target Name="QtRccPrepare" DependsOnTargets="QtRccSetDependencies"
- Inputs="%(QtRcc.Identity)" Outputs="@(QtRcc->'####### Don't skip this target #######')">
-
- <Message Importance="High" Condition="'$(QtDebug)' == 'true'"
- Text="## QtRccPrepare @(QtRcc)"/>
-
- <PropertyGroup>
- <selected_files>[@(selected_files->'%(Identity)','][')]</selected_files>
- <file>[@(QtRcc->'%(Identity)')]</file>
- <output_file>@(QtRcc->'%(OutputFile)')</output_file>
- <is_selected Condition="$(selected_files.Contains('$(file)'))">true</is_selected>
- <is_selected Condition="!$(selected_files.Contains('$(file)'))">false</is_selected>
- </PropertyGroup>
-
- <!--// Delete output file to force build of source if it was manually selected to build
- // (e.g. by the 'Compile' option in the context menu for the file) -->
- <Delete Files="$(output_file)"
- Condition="'$(SelectedFiles)' != '' AND '$(is_selected)' == 'true'" />
-
- <!--// If a source was manually selected to build, remove all other sources -->
- <ItemGroup Condition="'@(selected_files)' != ''">
- <QtRcc Remove="@(QtRcc)"
- Condition="'$(SelectedFiles)' != '' AND '$(is_selected)' != 'true'" />
- </ItemGroup>
-
- <!--// Remove sources excluded from build -->
- <ItemGroup>
- <QtRcc Remove="@(QtRcc)"
- Condition="'$(SelectedFiles)' == '' AND '%(QtRcc.ExcludedFromBuild)' == 'true'"/>
- </ItemGroup>
-
- <!--// Clean-up -->
- <PropertyGroup>
- <selected_files/>
- <file/>
- <output_file/>
- <is_selected/>
- </PropertyGroup>
- </Target>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TARGET QtRccSetModified
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Set InputModified flag for modified files (i.e. Inputs newer than Outputs)
- // -->
- <Target Name="QtRccSetModified" DependsOnTargets="QtRccPrepare"
- Condition="'@(QtRcc)' != ''"
- Inputs="%(QtRcc.FullPath);%(QtRcc.AdditionalDependencies)" Outputs="@(QtRcc->'%(OutputFile)')">
-
- <Message Importance="High" Condition="'$(QtDebug)' == 'true'"
- Text="## QtRccSetModified @(QtRcc)" />
-
- <CreateProperty Value="true">
- <!-- // Using ValueSetByTask ensures $(input_changed) is only set to 'true' when the target
- // is actually executed and not when MSBuild is figuring out which targets to run -->
- <Output TaskParameter="ValueSetByTask" PropertyName="input_changed" />
- </CreateProperty>
- <ItemGroup>
- <QtRcc>
- <InputChanged>$(input_changed)</InputChanged>
- </QtRcc>
- </ItemGroup>
- </Target>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TARGET QtRccOverrideCpp
- /////////////////////////////////////////////////////////////////////////////////////////////////
- //
- // -->
- <!--<Import Project="qtrcc_cl.targets"/>-->
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TARGET QtRcc
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Process each QRC file and produce the corresponding QtWork items
- // -->
- <PropertyGroup>
- <QtRccDependsOn>
- QtPrepare;
- QtRccPrepare;
- QtRccSetModified;
- $(QtRccDependsOn)
- </QtRccDependsOn>
- </PropertyGroup>
- <Target Name="QtRcc"
- DependsOnTargets="$(QtRccDependsOn)"
- BeforeTargets="$(QtRccBeforeTargets)" AfterTargets="$(QtRccAfterTargets)"
- Condition="'@(QtRcc)' != ''"
- Inputs="%(QtRcc.FullPath);%(QtRcc.AdditionalDependencies);$(MSBuildProjectFile)"
- Outputs="@(QtRcc->'%(OutputFile)')">
-
- <Message Importance="High" Condition="'$(QtDebug)' == 'true'" Text="## QtRcc @(QtRcc)" />
-
- <CreateProperty Value="true">
- <Output TaskParameter="ValueSetByTask" PropertyName="dependencies_changed" />
- </CreateProperty>
-
- <PropertyGroup>
- <two_pass Condition="'%(QtRcc.TwoPass)' == 'true'">true</two_pass>
- </PropertyGroup>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Convert string lists in source item properties to lists of items
- // -->
- <Flatten Items="@(QtRcc)"
- Metadata="InputFile;
- OutputFile;
- TempFile;
- InitFuncName;
- Root;
- Compression;
- NoCompression;
- CompressThreshold;
- BinaryOutput;
- NoZstd;
- PassNumber;
- NoNamespace;
- Verbose;
- List;
- Project;
- FormatVersion">
- <Output
- TaskParameter="Result" ItemName="LocalOptions" />
- </Flatten>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Translate local paths to build host paths
- // -->
- <HostTranslatePaths
- Items="@(LocalOptions)"
- Names="InputFile;
- OutputFile;
- TempFile;
- Root">
- <Output
- TaskParameter="Result" ItemName="options" />
- </HostTranslatePaths>
-
- <ItemGroup>
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////
- // Remove quotes from all paths
- // Escape trailing back-slash in paths
- // Add quotes to paths containing spaces
- // -->
- <options>
- <Value Condition="'%(Name)' == 'InputFile' OR '%(Name)' == 'OutputFile'
- OR '%(Name)' == 'TempFile' OR '%(Name)' == 'Root'"
- >$([System.String]::Copy('%(Value)').Replace('&quot;', ''))</Value>
- </options>
- <options>
- <Value Condition="('%(Name)' == 'InputFile' OR '%(Name)' == 'OutputFile'
- OR '%(Name)' == 'TempFile' OR '%(Name)' == 'Root')
- AND $([System.String]::Copy('%(Value)').Contains(' '))
- AND $([System.String]::Copy('%(Value)').EndsWith('\'))"
- >%(Value)\</Value>
- </options>
- <options>
- <Value Condition="('%(Name)' == 'InputFile' OR '%(Name)' == 'OutputFile'
- OR '%(Name)' == 'TempFile' OR '%(Name)' == 'Root')
- AND $([System.String]::Copy('%(Value)').Contains(' '))"
- >&quot;%(Value)&quot;</Value>
- </options>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Generate tool command line arguments
- // -->
- <!--// inputs Input files (*.qrc) -->
- <options>
- <Value Condition="'%(Name)' == 'InputFile'">%(Value)</Value>
- </options>
-
- <!--// -o, -output <file> Write output to <file> -->
- <options>
- <Value Condition="'%(Name)' == 'OutputFile' AND '$(two_pass)' != 'true'">-o %(Value)</Value>
- </options>
- <options>
- <Value Condition="'%(Name)' == 'OutputFile' AND '$(two_pass)' == 'true'"></Value>
- </options>
-
- <!--// -t, -temp <file> Use temporary <file> for big resources -->
- <options>
- <Value Condition="'%(Name)' == 'TempFile'">--temp %(Value)</Value>
- </options>
-
- <!--// -name <name> Create an external initialization function with <name> -->
- <options>
- <Value Condition="'%(Name)' == 'InitFuncName'">--name %(Value)</Value>
- </options>
-
- <!--// -root <path> Prefix resource access path with root path -->
- <options>
- <Value Condition="'%(Name)' == 'Root'">--root %(Value)</Value>
- </options>
-
- <!--// -compress <level> Compress input files by <level> -->
- <options>
- <Value
- Condition="'%(Name)' == 'Compression' AND '%(Value)' == 'level1'">--compress 1</Value>
- </options>
- <options>
- <Value
- Condition="'%(Name)' == 'Compression' AND '%(Value)' == 'level2'">--compress 2</Value>
- </options>
- <options>
- <Value
- Condition="'%(Name)' == 'Compression' AND '%(Value)' == 'level3'">--compress 3</Value>
- </options>
- <options>
- <Value
- Condition="'%(Name)' == 'Compression' AND '%(Value)' == 'level4'">--compress 4</Value>
- </options>
- <options>
- <Value
- Condition="'%(Name)' == 'Compression' AND '%(Value)' == 'level5'">--compress 5</Value>
- </options>
- <options>
- <Value
- Condition="'%(Name)' == 'Compression' AND '%(Value)' == 'level6'">--compress 6</Value>
- </options>
- <options>
- <Value
- Condition="'%(Name)' == 'Compression' AND '%(Value)' == 'level7'">--compress 7</Value>
- </options>
- <options>
- <Value
- Condition="'%(Name)' == 'Compression' AND '%(Value)' == 'level8'">--compress 8</Value>
- </options>
- <options>
- <Value
- Condition="'%(Name)' == 'Compression' AND '%(Value)' == 'level9'">--compress 9</Value>
- </options>
- <options>
- <Value
- Condition="'%(Name)' == 'Compression'
- AND !$([System.String]::Copy('%(Value)').StartsWith('--compress'))"></Value>
- </options>
-
- <!--// -no-compress Disable all compression -->
- <options>
- <Value
- Condition="'%(Name)' == 'NoCompression' AND '%(Value)' != 'true'"></Value>
- </options>
- <options>
- <Value
- Condition="'%(Name)' == 'NoCompression' AND '%(Value)' == 'true'">--no-compress</Value>
- </options>
-
- <!--// -threshold <level> Threshold to consider compressing files -->
- <options>
- <Value Condition="'%(Name)' == 'CompressThreshold'">--threshold %(Value)</Value>
- </options>
-
- <!--// -binary Output a binary file for use as a dynamic source -->
- <options>
- <Value Condition="'%(Name)' == 'BinaryOutput' AND '%(Value)' != 'true'"></Value>
- </options>
- <options>
- <Value Condition="'%(Name)' == 'BinaryOutput' AND '%(Value)' == 'true'">--binary</Value>
- </options>
-
- <!--// -no-zstd Disable usage of zstd compression -->
- <options>
- <Value Condition="'%(Name)' == 'NoZstd' AND '%(Value)' != 'true'"></Value>
- </options>
- <options>
- <Value Condition="'%(Name)' == 'NoZstd' AND '%(Value)' == 'true'">--no-zstd</Value>
- </options>
-
- <!--// -pass <number> Pass number for big resources -->
- <options>
- <Value Condition="'%(Name)' == 'PassNumber'">--pass %(Value)</Value>
- </options>
-
- <!--// -namespace Turn off namespace macros -->
- <options>
- <Value Condition="'%(Name)' == 'NoNamespace' AND '%(Value)' != 'true'"></Value>
- </options>
- <options>
- <Value Condition="'%(Name)' == 'NoNamespace' AND '%(Value)' == 'true'">--namespace</Value>
- </options>
-
- <!--// -verbose Enable verbose mode -->
- <options>
- <Value Condition="'%(Name)' == 'Verbose' AND '%(Value)' != 'true'"></Value>
- </options>
- <options>
- <Value Condition="'%(Name)' == 'Verbose' AND '%(Value)' == 'true'">--verbose</Value>
- </options>
-
- <!--// -list Only list .qrc file entries, do not generate code -->
- <options>
- <Value Condition="'%(Name)' == 'List' AND '%(Value)' != 'true'"></Value>
- </options>
- <options>
- <Value Condition="'%(Name)' == 'List' AND '%(Value)' == 'true'">--list</Value>
- </options>
-
- <!--// -project Output a resource file containing all files from the
- // current directory -->
- <options>
- <Value Condition="'%(Name)' == 'Project' AND '%(Value)' != 'true'"></Value>
- </options>
- <options>
- <Value Condition="'%(Name)' == 'Project' AND '%(Value)' == 'true'">--project</Value>
- </options>
-
- <!--// -format-version <number> The RCC format version to write -->
- <options>
- <Value Condition="'%(Name)' == 'FormatVersion'">--format-version %(Value)</Value>
- </options>
- </ItemGroup>
- <PropertyGroup>
- <options>@(options->'%(Value)', ' ')</options>
- </PropertyGroup>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Aux properties
- // -->
- <PropertyGroup>
- <!--// Force modified flag if source was manually selected to build -->
- <input_changed Condition="'$(SelectedFiles)' == ''"
- >%(QtRcc.InputChanged)</input_changed>
- <input_changed Condition="'$(SelectedFiles)' != ''"
- >true</input_changed>
-
- <!--// Run work in parallel processes -->
- <run_parallel Condition="'@(QtRcc)' != ''
- AND '%(QtRcc.ParallelProcess)' == 'true'
- AND '$(SelectedFiles)' == ''"
- >true</run_parallel>
-
- <!--// Run work in single process -->
- <run_single Condition="'@(QtRcc)' != ''
- AND ('%(QtRcc.ParallelProcess)' != 'true'
- OR '$(SelectedFiles)' != '')"
- >true</run_single>
-
- <!--// Get relative path to output -->
- <output_relative
->$([MSBuild]::MakeRelative($(ProjectDir), %(QtRcc.OutputFile)).TrimStart('\'))</output_relative>
- </PropertyGroup>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Create work item
- // -->
- <ItemGroup Condition="'$(run_parallel)' == 'true' OR '$(run_single)' == 'true'">
- <QtWork Include="@(QtRcc)">
- <WorkType>rcc</WorkType>
- <ToolPath Condition="'$(QtVsProjectSettings)' == 'true'">$(QtToolsPath)/rcc</ToolPath>
- <ToolPath Condition="'$(QtVsProjectSettings)' != 'true'">%(QtRcc.QTDIR)\bin\rcc.exe</ToolPath>
- <Options>$(options)</Options>
- <Message>%(QtRcc.ExecutionDescription)</Message>
- <DependenciesChanged>$(dependencies_changed)</DependenciesChanged>
- <InputChanged>$(input_changed)</InputChanged>
- <ParallelBuild Condition="'$(run_parallel)' == 'true'">true</ParallelBuild>
- <ParallelBuild Condition="'$(run_single)' == 'true'">false</ParallelBuild>
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////
- // Two-pass ("resources_big"): pass 1 -->
- <Message Condition="'%(QtRcc.TwoPass)' == 'true'">%(QtRcc.ExecutionDescription) [pass 1]</Message>
- <RccPass Condition="'%(QtRcc.TwoPass)' == 'true'">1</RccPass>
- <RccOptions Condition="'%(QtRcc.TwoPass)' == 'true'">$(options)</RccOptions>
- <Options Condition="'%(QtRcc.TwoPass)' == 'true'"
- >$(options) -pass 1 -o &quot;%(OutputFile)&quot;</Options>
- <Optimization Condition="'%(QtRcc.TwoPass)' == 'true'">Disabled</Optimization>
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////
- // C++ dynamic source -->
- <ClCompile Condition="'%(QtRcc.DynamicSource)' == 'output'">$(output_relative)</ClCompile>
- </QtWork>
- </ItemGroup>
-
- <!--
- ///////////////////////////////////////////////////////////////////////////////////////////////
- // Clean-up
- // -->
- <PropertyGroup>
- <options/>
- <dependencies_changed/>
- <input_changed/>
- <run_parallel/>
- <run_single/>
- <output_relative/>
- <two_pass/>
- </PropertyGroup>
- <ItemGroup>
- <LocalOptions Remove="@(LocalOptions)"/>
- <options Remove="@(options)"/>
- <selected_files Remove="@(selected_files)"/>
- </ItemGroup>
- </Target>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- /// TARGET QtRccPass2
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Two-pass ("resources_big"): pass 2
- // -->
- <Target Name="QtRccPass2"
- DependsOnTargets="QtRccPass2_GetObjs;QtRccPass2_Exec"/>
-
- <Target Name="QtRccPass2_GetObjs"
- DependsOnTargets="ComputeCLOutputs">
- <ItemGroup>
- <QtRccObj Include="@(Obj->WithMetadataValue('RccPass', '1'))">
- <RccPass>2</RccPass>
- </QtRccObj>
- </ItemGroup>
- </Target>
-
- <Target Name="QtRccPass2_Exec"
- DependsOnTargets="QtRccPass2_GetObjs"
- Condition="'@(QtRccObj)' != ''">
- <Move
- SourceFiles="%(QtRccObj.Identity)"
- DestinationFiles="%(QtRccObj.Identity)_TMP"/>
- <Exec
- Command="@(QtRccObj->'ECHO %(ExecutionDescription) [pass 2] &amp; %(ToolPath) %(RccOptions) -pass 2 -temp &quot;%(Identity)_TMP&quot; -o &quot;%(Identity)&quot;')"
- IgnoreExitCode="true"/>
- <ItemGroup>
- <Obj Remove="@(QtRccObj->'%(Identity)')"/>
- <Obj Include="@(QtRccObj)"/>
- <QtRccObj Remove="@(QtRccObj)"/>
- </ItemGroup>
- </Target>
-
- <Target Name="QtRccPass2_Link"
- DependsOnTargets="QtRccPass2"/>
-
- <Target Name="QtRccPass2_Lib"
- DependsOnTargets="QtRccPass2"/>
-
- <PropertyGroup>
- <ComputeLinkInputsTargets>
- $(ComputeLinkInputsTargets);
- ;QtRccPass2_Link;
- </ComputeLinkInputsTargets>
- <ComputeLibInputsTargets>
- $(ComputeLibInputsTargets);
- ;QtRccPass2_Lib;
- </ComputeLibInputsTargets>
- </PropertyGroup>
-
- <!--
- /////////////////////////////////////////////////////////////////////////////////////////////////
- // Import dependants
- // -->
- <Import
- Condition="'$(QtMsBuildTargets_AfterRcc)' != ''"
- Project="$(QtMsBuildTargets_AfterRcc)"/>
-
-</Project>
diff --git a/Source/VSProps/qtrcc.xml b/Source/VSProps/qtrcc.xml
deleted file mode 100644
index d373d8b49e..0000000000
--- a/Source/VSProps/qtrcc.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<ProjectSchemaDefinitions xmlns="http://schemas.microsoft.com/build/2009/properties">
- <ItemType Name="QtRcc" DisplayName="Qt Resource File" />
- <ContentType Name="QtRcc" DisplayName="Qt Resource Compiler" />
-</ProjectSchemaDefinitions> \ No newline at end of file
diff --git a/Source/dolphin-emu.sln b/Source/dolphin-emu.sln
deleted file mode 100644
index 64650e330f..0000000000
--- a/Source/dolphin-emu.sln
+++ /dev/null
@@ -1,495 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 17
-VisualStudioVersion = 17.0.31903.59
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Dolphin", "Core\DolphinQt\DolphinQt.vcxproj", "{FA3FA62B-6F58-4B86-9453-4D149940A066}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DolphinNoGUI", "Core\DolphinNoGUI\DolphinNoGUI.vcxproj", "{974E563D-23F8-4E8F-9083-F62876B04E08}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DolphinTool", "Core\DolphinTool\DolphinTool.vcxproj", "{8F91523C-5C5E-4B22-A1F1-67560B6DC714}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DSPTool", "DSPTool\DSPTool.vcxproj", "{1970D175-3DE8-4738-942A-4D98D1CDBF64}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnitTests", "UnitTests\UnitTests.vcxproj", "{474661E7-C73A-43A6-AFEE-EE1EC433D49E}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DolphinLib", "Core\DolphinLib.vcxproj", "{D79392F7-06D6-4B4B-A39F-4D587C215D3A}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinUpdater", "Core\WinUpdater\WinUpdater.vcxproj", "{E4BECBAB-9C6E-41AB-BB56-F9D70AB6BE03}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Externals", "Externals", "{87ADDFF9-5768-4DA2-A33B-2477593D6677}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Bochs_disasm", "..\Externals\Bochs_disasm\Bochs_disasm.vcxproj", "{8ADA04D7-6DB1-4DA4-AB55-64FB12A0997B}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Languages", "..\Languages\Languages.vcxproj", "{0E033BE3-2E08-428E-9AE9-BC673EFA12B5}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LZO", "..\Externals\LZO\LZO.vcxproj", "{AB993F38-C31D-4897-B139-A620C42BC565}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lz4", "..\Externals\LZ4\LZ4.vcxproj", "{9092C5CC-3E71-41B3-BF68-4A7BDD8A5476}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniupnpc", "..\Externals\miniupnpc\miniupnpc.vcxproj", "{31643FDB-1BB8-4965-9DE7-000FC88D35AE}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xxhash", "..\Externals\xxhash\xxhash.vcxproj", "{677EA016-1182-440C-9345-DC88D1E98C0C}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib-ng", "..\Externals\zlib-ng\zlib-ng.vcxproj", "{F6EA7144-8D64-4EBB-A13E-76DFBD911EAE}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mbedTLS", "..\Externals\mbedtls\mbedTLS.vcxproj", "{BDB6578B-0691-4E80-A46C-DF21639FD3B8}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SCMRevGen", "Core\Common\SCMRevGen.vcxproj", "{41279555-F94F-4EBC-99DE-AF863C10C5C4}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SFML", "..\Externals\SFML\SFML.vcxproj", "{93D73454-2512-424E-9CDA-4BB357FE13DD}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libusb-1.0", "..\Externals\libusb\libusb-1.0.vcxproj", "{349EE8F9-7D25-4909-AAF5-FF3FADE72187}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pch", "PCH\pch.vcxproj", "{76563A7F-1011-4EAD-B667-7BB18D09568E}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "enet", "..\Externals\enet\enet.vcxproj", "{CBC76802-C128-4B17-BF6C-23B08C313E5E}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "curl", "..\Externals\curl\curl.vcxproj", "{BB00605C-125F-4A21-B33B-7BF418322DCB}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glslang", "..\Externals\glslang\glslang.vcxproj", "{D178061B-84D3-44F9-BEED-EFD18D9033F0}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpp-ipc", "..\Externals\cpp-ipc\cpp-ipc.vcxproj", "{7299DDD3-BBEC-4027-AF30-8DACC5415F96}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpp-optparse", "..\Externals\cpp-optparse\cpp-optparse.vcxproj", "{C636D9D1-82FE-42B5-9987-63B7D4836341}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cubeb", "..\Externals\cubeb\msvc\cubeb.vcxproj", "{8EA11166-6512-44FC-B7A5-A4D1ECC81170}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pugixml", "..\Externals\pugixml\pugixml.vcxproj", "{38FEE76F-F347-484B-949C-B4649381CFFB}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "picojson", "..\Externals\picojson\picojson.vcxproj", "{2C0D058E-DE35-4471-AD99-E68A2CAF9E18}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ed25519", "..\Externals\ed25519\ed25519.vcxproj", "{5BDF4B91-1491-4FB0-BC27-78E9A8E97DC3}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FreeSurround", "..\Externals\FreeSurround\FreeSurround.vcxproj", "{8498F2FA-5CA6-4169-9971-DE5B1FE6132C}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "discord-rpc", "..\Externals\discord-rpc\src\discord-rpc.vcxproj", "{4482FD2A-EC43-3FFB-AC20-2E5C54B05EAD}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minizip-ng", "..\Externals\minizip-ng\minizip-ng.vcxproj", "{23114507-079A-4418-9707-CFA81A03CA99}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "imgui", "..\Externals\imgui\imgui.vcxproj", "{4C3B2264-EA73-4A7B-9CFE-65B0FD635EBB}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "implot", "..\Externals\implot\implot.vcxproj", "{A608225E-AE0A-4D1A-9B55-97F57C862391}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bzip2", "..\Externals\bzip2\bzip2.vcxproj", "{1D8C51D2-FFA4-418E-B183-9F42B6A6717E}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "liblzma", "..\Externals\liblzma\liblzma.vcxproj", "{055A775F-B4F5-4970-9240-F6CF7661F37B}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zstd", "..\Externals\zstd\zstd.vcxproj", "{1BEA10F3-80CE-4BC4-9331-5769372CDF99}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mgba", "..\Externals\mGBA\mgba.vcxproj", "{864C4C8E-296D-3DBC-AD83-F1D5CB6E8EC6}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "..\Externals\fmt\fmt.vcxproj", "{4BC5A148-0AB3-440F-A980-A29B4B999190}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spirv_cross", "..\Externals\spirv_cross\spirv_cross.vcxproj", "{3D780617-EC8C-4721-B9FD-DFC9BB658C7C}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL3", "..\Externals\SDL\SDL3.vcxproj", "{8DC244EE-A0BD-4038-BAF7-CFAFA5EB2BAA}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FatFs", "..\Externals\FatFs\FatFs.vcxproj", "{3F17D282-A77D-4931-B844-903AD0809A5E}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spng", "..\Externals\libspng\spng.vcxproj", "{447B7B1E-1D74-4AEF-B2B9-6EB41C5D5313}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rcheevos", "..\Externals\rcheevos\rcheevos.vcxproj", "{CC99A910-3752-4465-95AA-7DC240D92A99}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tinygltf", "..\Externals\tinygltf\tinygltf.vcxproj", "{8BDA3693-4999-4D11-9E52-8D08C30B643A}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|ARM64 = Debug|ARM64
- Debug|x64 = Debug|x64
- Release|ARM64 = Release|ARM64
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {FA3FA62B-6F58-4B86-9453-4D149940A066}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {FA3FA62B-6F58-4B86-9453-4D149940A066}.Debug|ARM64.Build.0 = Debug|ARM64
- {FA3FA62B-6F58-4B86-9453-4D149940A066}.Debug|x64.ActiveCfg = Debug|x64
- {FA3FA62B-6F58-4B86-9453-4D149940A066}.Debug|x64.Build.0 = Debug|x64
- {FA3FA62B-6F58-4B86-9453-4D149940A066}.Release|ARM64.ActiveCfg = Release|ARM64
- {FA3FA62B-6F58-4B86-9453-4D149940A066}.Release|ARM64.Build.0 = Release|ARM64
- {FA3FA62B-6F58-4B86-9453-4D149940A066}.Release|x64.ActiveCfg = Release|x64
- {FA3FA62B-6F58-4B86-9453-4D149940A066}.Release|x64.Build.0 = Release|x64
- {974E563D-23F8-4E8F-9083-F62876B04E08}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {974E563D-23F8-4E8F-9083-F62876B04E08}.Debug|x64.ActiveCfg = Debug|x64
- {974E563D-23F8-4E8F-9083-F62876B04E08}.Release|ARM64.ActiveCfg = Release|ARM64
- {974E563D-23F8-4E8F-9083-F62876B04E08}.Release|x64.ActiveCfg = Release|x64
- {8F91523C-5C5E-4B22-A1F1-67560B6DC714}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {8F91523C-5C5E-4B22-A1F1-67560B6DC714}.Debug|ARM64.Build.0 = Debug|ARM64
- {8F91523C-5C5E-4B22-A1F1-67560B6DC714}.Debug|x64.ActiveCfg = Debug|x64
- {8F91523C-5C5E-4B22-A1F1-67560B6DC714}.Debug|x64.Build.0 = Debug|x64
- {8F91523C-5C5E-4B22-A1F1-67560B6DC714}.Release|ARM64.ActiveCfg = Release|ARM64
- {8F91523C-5C5E-4B22-A1F1-67560B6DC714}.Release|ARM64.Build.0 = Release|ARM64
- {8F91523C-5C5E-4B22-A1F1-67560B6DC714}.Release|x64.ActiveCfg = Release|x64
- {8F91523C-5C5E-4B22-A1F1-67560B6DC714}.Release|x64.Build.0 = Release|x64
- {1970D175-3DE8-4738-942A-4D98D1CDBF64}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {1970D175-3DE8-4738-942A-4D98D1CDBF64}.Debug|ARM64.Build.0 = Debug|ARM64
- {1970D175-3DE8-4738-942A-4D98D1CDBF64}.Debug|x64.ActiveCfg = Debug|x64
- {1970D175-3DE8-4738-942A-4D98D1CDBF64}.Debug|x64.Build.0 = Debug|x64
- {1970D175-3DE8-4738-942A-4D98D1CDBF64}.Release|ARM64.ActiveCfg = Release|ARM64
- {1970D175-3DE8-4738-942A-4D98D1CDBF64}.Release|ARM64.Build.0 = Release|ARM64
- {1970D175-3DE8-4738-942A-4D98D1CDBF64}.Release|x64.ActiveCfg = Release|x64
- {1970D175-3DE8-4738-942A-4D98D1CDBF64}.Release|x64.Build.0 = Release|x64
- {474661E7-C73A-43A6-AFEE-EE1EC433D49E}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {474661E7-C73A-43A6-AFEE-EE1EC433D49E}.Debug|ARM64.Build.0 = Debug|ARM64
- {474661E7-C73A-43A6-AFEE-EE1EC433D49E}.Debug|x64.ActiveCfg = Debug|x64
- {474661E7-C73A-43A6-AFEE-EE1EC433D49E}.Debug|x64.Build.0 = Debug|x64
- {474661E7-C73A-43A6-AFEE-EE1EC433D49E}.Release|ARM64.ActiveCfg = Release|ARM64
- {474661E7-C73A-43A6-AFEE-EE1EC433D49E}.Release|ARM64.Build.0 = Release|ARM64
- {474661E7-C73A-43A6-AFEE-EE1EC433D49E}.Release|x64.ActiveCfg = Release|x64
- {474661E7-C73A-43A6-AFEE-EE1EC433D49E}.Release|x64.Build.0 = Release|x64
- {D79392F7-06D6-4B4B-A39F-4D587C215D3A}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {D79392F7-06D6-4B4B-A39F-4D587C215D3A}.Debug|ARM64.Build.0 = Debug|ARM64
- {D79392F7-06D6-4B4B-A39F-4D587C215D3A}.Debug|x64.ActiveCfg = Debug|x64
- {D79392F7-06D6-4B4B-A39F-4D587C215D3A}.Debug|x64.Build.0 = Debug|x64
- {D79392F7-06D6-4B4B-A39F-4D587C215D3A}.Release|ARM64.ActiveCfg = Release|ARM64
- {D79392F7-06D6-4B4B-A39F-4D587C215D3A}.Release|ARM64.Build.0 = Release|ARM64
- {D79392F7-06D6-4B4B-A39F-4D587C215D3A}.Release|x64.ActiveCfg = Release|x64
- {D79392F7-06D6-4B4B-A39F-4D587C215D3A}.Release|x64.Build.0 = Release|x64
- {E4BECBAB-9C6E-41AB-BB56-F9D70AB6BE03}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {E4BECBAB-9C6E-41AB-BB56-F9D70AB6BE03}.Debug|ARM64.Build.0 = Debug|ARM64
- {E4BECBAB-9C6E-41AB-BB56-F9D70AB6BE03}.Debug|x64.ActiveCfg = Debug|x64
- {E4BECBAB-9C6E-41AB-BB56-F9D70AB6BE03}.Debug|x64.Build.0 = Debug|x64
- {E4BECBAB-9C6E-41AB-BB56-F9D70AB6BE03}.Release|ARM64.ActiveCfg = Release|ARM64
- {E4BECBAB-9C6E-41AB-BB56-F9D70AB6BE03}.Release|ARM64.Build.0 = Release|ARM64
- {E4BECBAB-9C6E-41AB-BB56-F9D70AB6BE03}.Release|x64.ActiveCfg = Release|x64
- {E4BECBAB-9C6E-41AB-BB56-F9D70AB6BE03}.Release|x64.Build.0 = Release|x64
- {8ADA04D7-6DB1-4DA4-AB55-64FB12A0997B}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {8ADA04D7-6DB1-4DA4-AB55-64FB12A0997B}.Debug|ARM64.Build.0 = Debug|ARM64
- {8ADA04D7-6DB1-4DA4-AB55-64FB12A0997B}.Debug|x64.ActiveCfg = Debug|x64
- {8ADA04D7-6DB1-4DA4-AB55-64FB12A0997B}.Debug|x64.Build.0 = Debug|x64
- {8ADA04D7-6DB1-4DA4-AB55-64FB12A0997B}.Release|ARM64.ActiveCfg = Release|ARM64
- {8ADA04D7-6DB1-4DA4-AB55-64FB12A0997B}.Release|ARM64.Build.0 = Release|ARM64
- {8ADA04D7-6DB1-4DA4-AB55-64FB12A0997B}.Release|x64.ActiveCfg = Release|x64
- {8ADA04D7-6DB1-4DA4-AB55-64FB12A0997B}.Release|x64.Build.0 = Release|x64
- {0E033BE3-2E08-428E-9AE9-BC673EFA12B5}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {0E033BE3-2E08-428E-9AE9-BC673EFA12B5}.Debug|ARM64.Build.0 = Debug|ARM64
- {0E033BE3-2E08-428E-9AE9-BC673EFA12B5}.Debug|x64.ActiveCfg = Debug|x64
- {0E033BE3-2E08-428E-9AE9-BC673EFA12B5}.Debug|x64.Build.0 = Debug|x64
- {0E033BE3-2E08-428E-9AE9-BC673EFA12B5}.Release|ARM64.ActiveCfg = Release|ARM64
- {0E033BE3-2E08-428E-9AE9-BC673EFA12B5}.Release|ARM64.Build.0 = Release|ARM64
- {0E033BE3-2E08-428E-9AE9-BC673EFA12B5}.Release|x64.ActiveCfg = Release|x64
- {0E033BE3-2E08-428E-9AE9-BC673EFA12B5}.Release|x64.Build.0 = Release|x64
- {AB993F38-C31D-4897-B139-A620C42BC565}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {AB993F38-C31D-4897-B139-A620C42BC565}.Debug|ARM64.Build.0 = Debug|ARM64
- {AB993F38-C31D-4897-B139-A620C42BC565}.Debug|x64.ActiveCfg = Debug|x64
- {AB993F38-C31D-4897-B139-A620C42BC565}.Debug|x64.Build.0 = Debug|x64
- {AB993F38-C31D-4897-B139-A620C42BC565}.Release|ARM64.ActiveCfg = Release|ARM64
- {AB993F38-C31D-4897-B139-A620C42BC565}.Release|ARM64.Build.0 = Release|ARM64
- {AB993F38-C31D-4897-B139-A620C42BC565}.Release|x64.ActiveCfg = Release|x64
- {AB993F38-C31D-4897-B139-A620C42BC565}.Release|x64.Build.0 = Release|x64
- {9092C5CC-3E71-41B3-BF68-4A7BDD8A5476}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {9092C5CC-3E71-41B3-BF68-4A7BDD8A5476}.Debug|ARM64.Build.0 = Debug|ARM64
- {9092C5CC-3E71-41B3-BF68-4A7BDD8A5476}.Debug|x64.ActiveCfg = Debug|x64
- {9092C5CC-3E71-41B3-BF68-4A7BDD8A5476}.Debug|x64.Build.0 = Debug|x64
- {9092C5CC-3E71-41B3-BF68-4A7BDD8A5476}.Release|ARM64.ActiveCfg = Release|ARM64
- {9092C5CC-3E71-41B3-BF68-4A7BDD8A5476}.Release|ARM64.Build.0 = Release|ARM64
- {9092C5CC-3E71-41B3-BF68-4A7BDD8A5476}.Release|x64.ActiveCfg = Release|x64
- {9092C5CC-3E71-41B3-BF68-4A7BDD8A5476}.Release|x64.Build.0 = Release|x64
- {31643FDB-1BB8-4965-9DE7-000FC88D35AE}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {31643FDB-1BB8-4965-9DE7-000FC88D35AE}.Debug|ARM64.Build.0 = Debug|ARM64
- {31643FDB-1BB8-4965-9DE7-000FC88D35AE}.Debug|x64.ActiveCfg = Debug|x64
- {31643FDB-1BB8-4965-9DE7-000FC88D35AE}.Debug|x64.Build.0 = Debug|x64
- {31643FDB-1BB8-4965-9DE7-000FC88D35AE}.Release|ARM64.ActiveCfg = Release|ARM64
- {31643FDB-1BB8-4965-9DE7-000FC88D35AE}.Release|ARM64.Build.0 = Release|ARM64
- {31643FDB-1BB8-4965-9DE7-000FC88D35AE}.Release|x64.ActiveCfg = Release|x64
- {31643FDB-1BB8-4965-9DE7-000FC88D35AE}.Release|x64.Build.0 = Release|x64
- {677EA016-1182-440C-9345-DC88D1E98C0C}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {677EA016-1182-440C-9345-DC88D1E98C0C}.Debug|ARM64.Build.0 = Debug|ARM64
- {677EA016-1182-440C-9345-DC88D1E98C0C}.Debug|x64.ActiveCfg = Debug|x64
- {677EA016-1182-440C-9345-DC88D1E98C0C}.Debug|x64.Build.0 = Debug|x64
- {677EA016-1182-440C-9345-DC88D1E98C0C}.Release|ARM64.ActiveCfg = Release|ARM64
- {677EA016-1182-440C-9345-DC88D1E98C0C}.Release|ARM64.Build.0 = Release|ARM64
- {677EA016-1182-440C-9345-DC88D1E98C0C}.Release|x64.ActiveCfg = Release|x64
- {677EA016-1182-440C-9345-DC88D1E98C0C}.Release|x64.Build.0 = Release|x64
- {F6EA7144-8D64-4EBB-A13E-76DFBD911EAE}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {F6EA7144-8D64-4EBB-A13E-76DFBD911EAE}.Debug|ARM64.Build.0 = Debug|ARM64
- {F6EA7144-8D64-4EBB-A13E-76DFBD911EAE}.Debug|x64.ActiveCfg = Debug|x64
- {F6EA7144-8D64-4EBB-A13E-76DFBD911EAE}.Debug|x64.Build.0 = Debug|x64
- {F6EA7144-8D64-4EBB-A13E-76DFBD911EAE}.Release|ARM64.ActiveCfg = Release|ARM64
- {F6EA7144-8D64-4EBB-A13E-76DFBD911EAE}.Release|ARM64.Build.0 = Release|ARM64
- {F6EA7144-8D64-4EBB-A13E-76DFBD911EAE}.Release|x64.ActiveCfg = Release|x64
- {F6EA7144-8D64-4EBB-A13E-76DFBD911EAE}.Release|x64.Build.0 = Release|x64
- {BDB6578B-0691-4E80-A46C-DF21639FD3B8}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {BDB6578B-0691-4E80-A46C-DF21639FD3B8}.Debug|ARM64.Build.0 = Debug|ARM64
- {BDB6578B-0691-4E80-A46C-DF21639FD3B8}.Debug|x64.ActiveCfg = Debug|x64
- {BDB6578B-0691-4E80-A46C-DF21639FD3B8}.Debug|x64.Build.0 = Debug|x64
- {BDB6578B-0691-4E80-A46C-DF21639FD3B8}.Release|ARM64.ActiveCfg = Release|ARM64
- {BDB6578B-0691-4E80-A46C-DF21639FD3B8}.Release|ARM64.Build.0 = Release|ARM64
- {BDB6578B-0691-4E80-A46C-DF21639FD3B8}.Release|x64.ActiveCfg = Release|x64
- {BDB6578B-0691-4E80-A46C-DF21639FD3B8}.Release|x64.Build.0 = Release|x64
- {41279555-F94F-4EBC-99DE-AF863C10C5C4}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {41279555-F94F-4EBC-99DE-AF863C10C5C4}.Debug|ARM64.Build.0 = Debug|ARM64
- {41279555-F94F-4EBC-99DE-AF863C10C5C4}.Debug|x64.ActiveCfg = Debug|x64
- {41279555-F94F-4EBC-99DE-AF863C10C5C4}.Debug|x64.Build.0 = Debug|x64
- {41279555-F94F-4EBC-99DE-AF863C10C5C4}.Release|ARM64.ActiveCfg = Release|ARM64
- {41279555-F94F-4EBC-99DE-AF863C10C5C4}.Release|ARM64.Build.0 = Release|ARM64
- {41279555-F94F-4EBC-99DE-AF863C10C5C4}.Release|x64.ActiveCfg = Release|x64
- {41279555-F94F-4EBC-99DE-AF863C10C5C4}.Release|x64.Build.0 = Release|x64
- {93D73454-2512-424E-9CDA-4BB357FE13DD}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {93D73454-2512-424E-9CDA-4BB357FE13DD}.Debug|ARM64.Build.0 = Debug|ARM64
- {93D73454-2512-424E-9CDA-4BB357FE13DD}.Debug|x64.ActiveCfg = Debug|x64
- {93D73454-2512-424E-9CDA-4BB357FE13DD}.Debug|x64.Build.0 = Debug|x64
- {93D73454-2512-424E-9CDA-4BB357FE13DD}.Release|ARM64.ActiveCfg = Release|ARM64
- {93D73454-2512-424E-9CDA-4BB357FE13DD}.Release|ARM64.Build.0 = Release|ARM64
- {93D73454-2512-424E-9CDA-4BB357FE13DD}.Release|x64.ActiveCfg = Release|x64
- {93D73454-2512-424E-9CDA-4BB357FE13DD}.Release|x64.Build.0 = Release|x64
- {349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Debug|ARM64.Build.0 = Debug|ARM64
- {349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Debug|x64.ActiveCfg = Debug|x64
- {349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Debug|x64.Build.0 = Debug|x64
- {349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Release|ARM64.ActiveCfg = Release|ARM64
- {349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Release|ARM64.Build.0 = Release|ARM64
- {349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Release|x64.ActiveCfg = Release|x64
- {349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Release|x64.Build.0 = Release|x64
- {76563A7F-1011-4EAD-B667-7BB18D09568E}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {76563A7F-1011-4EAD-B667-7BB18D09568E}.Debug|ARM64.Build.0 = Debug|ARM64
- {76563A7F-1011-4EAD-B667-7BB18D09568E}.Debug|x64.ActiveCfg = Debug|x64
- {76563A7F-1011-4EAD-B667-7BB18D09568E}.Debug|x64.Build.0 = Debug|x64
- {76563A7F-1011-4EAD-B667-7BB18D09568E}.Release|ARM64.ActiveCfg = Release|ARM64
- {76563A7F-1011-4EAD-B667-7BB18D09568E}.Release|ARM64.Build.0 = Release|ARM64
- {76563A7F-1011-4EAD-B667-7BB18D09568E}.Release|x64.ActiveCfg = Release|x64
- {76563A7F-1011-4EAD-B667-7BB18D09568E}.Release|x64.Build.0 = Release|x64
- {CBC76802-C128-4B17-BF6C-23B08C313E5E}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {CBC76802-C128-4B17-BF6C-23B08C313E5E}.Debug|ARM64.Build.0 = Debug|ARM64
- {CBC76802-C128-4B17-BF6C-23B08C313E5E}.Debug|x64.ActiveCfg = Debug|x64
- {CBC76802-C128-4B17-BF6C-23B08C313E5E}.Debug|x64.Build.0 = Debug|x64
- {CBC76802-C128-4B17-BF6C-23B08C313E5E}.Release|ARM64.ActiveCfg = Release|ARM64
- {CBC76802-C128-4B17-BF6C-23B08C313E5E}.Release|ARM64.Build.0 = Release|ARM64
- {CBC76802-C128-4B17-BF6C-23B08C313E5E}.Release|x64.ActiveCfg = Release|x64
- {CBC76802-C128-4B17-BF6C-23B08C313E5E}.Release|x64.Build.0 = Release|x64
- {BB00605C-125F-4A21-B33B-7BF418322DCB}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {BB00605C-125F-4A21-B33B-7BF418322DCB}.Debug|ARM64.Build.0 = Debug|ARM64
- {BB00605C-125F-4A21-B33B-7BF418322DCB}.Debug|x64.ActiveCfg = Debug|x64
- {BB00605C-125F-4A21-B33B-7BF418322DCB}.Debug|x64.Build.0 = Debug|x64
- {BB00605C-125F-4A21-B33B-7BF418322DCB}.Release|ARM64.ActiveCfg = Release|ARM64
- {BB00605C-125F-4A21-B33B-7BF418322DCB}.Release|ARM64.Build.0 = Release|ARM64
- {BB00605C-125F-4A21-B33B-7BF418322DCB}.Release|x64.ActiveCfg = Release|x64
- {BB00605C-125F-4A21-B33B-7BF418322DCB}.Release|x64.Build.0 = Release|x64
- {D178061B-84D3-44F9-BEED-EFD18D9033F0}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {D178061B-84D3-44F9-BEED-EFD18D9033F0}.Debug|ARM64.Build.0 = Debug|ARM64
- {D178061B-84D3-44F9-BEED-EFD18D9033F0}.Debug|x64.ActiveCfg = Debug|x64
- {D178061B-84D3-44F9-BEED-EFD18D9033F0}.Debug|x64.Build.0 = Debug|x64
- {D178061B-84D3-44F9-BEED-EFD18D9033F0}.Release|ARM64.ActiveCfg = Release|ARM64
- {D178061B-84D3-44F9-BEED-EFD18D9033F0}.Release|ARM64.Build.0 = Release|ARM64
- {D178061B-84D3-44F9-BEED-EFD18D9033F0}.Release|x64.ActiveCfg = Release|x64
- {D178061B-84D3-44F9-BEED-EFD18D9033F0}.Release|x64.Build.0 = Release|x64
- {7299DDD3-BBEC-4027-AF30-8DACC5415F96}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {7299DDD3-BBEC-4027-AF30-8DACC5415F96}.Debug|ARM64.Build.0 = Debug|ARM64
- {7299DDD3-BBEC-4027-AF30-8DACC5415F96}.Debug|x64.ActiveCfg = Debug|x64
- {7299DDD3-BBEC-4027-AF30-8DACC5415F96}.Debug|x64.Build.0 = Debug|x64
- {7299DDD3-BBEC-4027-AF30-8DACC5415F96}.Release|ARM64.ActiveCfg = Release|ARM64
- {7299DDD3-BBEC-4027-AF30-8DACC5415F96}.Release|ARM64.Build.0 = Release|ARM64
- {7299DDD3-BBEC-4027-AF30-8DACC5415F96}.Release|x64.ActiveCfg = Release|x64
- {7299DDD3-BBEC-4027-AF30-8DACC5415F96}.Release|x64.Build.0 = Release|x64
- {C636D9D1-82FE-42B5-9987-63B7D4836341}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {C636D9D1-82FE-42B5-9987-63B7D4836341}.Debug|ARM64.Build.0 = Debug|ARM64
- {C636D9D1-82FE-42B5-9987-63B7D4836341}.Debug|x64.ActiveCfg = Debug|x64
- {C636D9D1-82FE-42B5-9987-63B7D4836341}.Debug|x64.Build.0 = Debug|x64
- {C636D9D1-82FE-42B5-9987-63B7D4836341}.Release|ARM64.ActiveCfg = Release|ARM64
- {C636D9D1-82FE-42B5-9987-63B7D4836341}.Release|ARM64.Build.0 = Release|ARM64
- {C636D9D1-82FE-42B5-9987-63B7D4836341}.Release|x64.ActiveCfg = Release|x64
- {C636D9D1-82FE-42B5-9987-63B7D4836341}.Release|x64.Build.0 = Release|x64
- {8EA11166-6512-44FC-B7A5-A4D1ECC81170}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {8EA11166-6512-44FC-B7A5-A4D1ECC81170}.Debug|ARM64.Build.0 = Debug|ARM64
- {8EA11166-6512-44FC-B7A5-A4D1ECC81170}.Debug|x64.ActiveCfg = Debug|x64
- {8EA11166-6512-44FC-B7A5-A4D1ECC81170}.Debug|x64.Build.0 = Debug|x64
- {8EA11166-6512-44FC-B7A5-A4D1ECC81170}.Release|ARM64.ActiveCfg = Release|ARM64
- {8EA11166-6512-44FC-B7A5-A4D1ECC81170}.Release|ARM64.Build.0 = Release|ARM64
- {8EA11166-6512-44FC-B7A5-A4D1ECC81170}.Release|x64.ActiveCfg = Release|x64
- {8EA11166-6512-44FC-B7A5-A4D1ECC81170}.Release|x64.Build.0 = Release|x64
- {38FEE76F-F347-484B-949C-B4649381CFFB}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {38FEE76F-F347-484B-949C-B4649381CFFB}.Debug|ARM64.Build.0 = Debug|ARM64
- {38FEE76F-F347-484B-949C-B4649381CFFB}.Debug|x64.ActiveCfg = Debug|x64
- {38FEE76F-F347-484B-949C-B4649381CFFB}.Debug|x64.Build.0 = Debug|x64
- {38FEE76F-F347-484B-949C-B4649381CFFB}.Release|ARM64.ActiveCfg = Release|ARM64
- {38FEE76F-F347-484B-949C-B4649381CFFB}.Release|ARM64.Build.0 = Release|ARM64
- {38FEE76F-F347-484B-949C-B4649381CFFB}.Release|x64.ActiveCfg = Release|x64
- {38FEE76F-F347-484B-949C-B4649381CFFB}.Release|x64.Build.0 = Release|x64
- {2C0D058E-DE35-4471-AD99-E68A2CAF9E18}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {2C0D058E-DE35-4471-AD99-E68A2CAF9E18}.Debug|ARM64.Build.0 = Debug|ARM64
- {2C0D058E-DE35-4471-AD99-E68A2CAF9E18}.Debug|x64.ActiveCfg = Debug|x64
- {2C0D058E-DE35-4471-AD99-E68A2CAF9E18}.Debug|x64.Build.0 = Debug|x64
- {2C0D058E-DE35-4471-AD99-E68A2CAF9E18}.Release|ARM64.ActiveCfg = Release|ARM64
- {2C0D058E-DE35-4471-AD99-E68A2CAF9E18}.Release|ARM64.Build.0 = Release|ARM64
- {2C0D058E-DE35-4471-AD99-E68A2CAF9E18}.Release|x64.ActiveCfg = Release|x64
- {2C0D058E-DE35-4471-AD99-E68A2CAF9E18}.Release|x64.Build.0 = Release|x64
- {5BDF4B91-1491-4FB0-BC27-78E9A8E97DC3}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {5BDF4B91-1491-4FB0-BC27-78E9A8E97DC3}.Debug|ARM64.Build.0 = Debug|ARM64
- {5BDF4B91-1491-4FB0-BC27-78E9A8E97DC3}.Debug|x64.ActiveCfg = Debug|x64
- {5BDF4B91-1491-4FB0-BC27-78E9A8E97DC3}.Debug|x64.Build.0 = Debug|x64
- {5BDF4B91-1491-4FB0-BC27-78E9A8E97DC3}.Release|ARM64.ActiveCfg = Release|ARM64
- {5BDF4B91-1491-4FB0-BC27-78E9A8E97DC3}.Release|ARM64.Build.0 = Release|ARM64
- {5BDF4B91-1491-4FB0-BC27-78E9A8E97DC3}.Release|x64.ActiveCfg = Release|x64
- {5BDF4B91-1491-4FB0-BC27-78E9A8E97DC3}.Release|x64.Build.0 = Release|x64
- {8498F2FA-5CA6-4169-9971-DE5B1FE6132C}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {8498F2FA-5CA6-4169-9971-DE5B1FE6132C}.Debug|ARM64.Build.0 = Debug|ARM64
- {8498F2FA-5CA6-4169-9971-DE5B1FE6132C}.Debug|x64.ActiveCfg = Debug|x64
- {8498F2FA-5CA6-4169-9971-DE5B1FE6132C}.Debug|x64.Build.0 = Debug|x64
- {8498F2FA-5CA6-4169-9971-DE5B1FE6132C}.Release|ARM64.ActiveCfg = Release|ARM64
- {8498F2FA-5CA6-4169-9971-DE5B1FE6132C}.Release|ARM64.Build.0 = Release|ARM64
- {8498F2FA-5CA6-4169-9971-DE5B1FE6132C}.Release|x64.ActiveCfg = Release|x64
- {8498F2FA-5CA6-4169-9971-DE5B1FE6132C}.Release|x64.Build.0 = Release|x64
- {4482FD2A-EC43-3FFB-AC20-2E5C54B05EAD}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {4482FD2A-EC43-3FFB-AC20-2E5C54B05EAD}.Debug|ARM64.Build.0 = Debug|ARM64
- {4482FD2A-EC43-3FFB-AC20-2E5C54B05EAD}.Debug|x64.ActiveCfg = Debug|x64
- {4482FD2A-EC43-3FFB-AC20-2E5C54B05EAD}.Debug|x64.Build.0 = Debug|x64
- {4482FD2A-EC43-3FFB-AC20-2E5C54B05EAD}.Release|ARM64.ActiveCfg = Release|ARM64
- {4482FD2A-EC43-3FFB-AC20-2E5C54B05EAD}.Release|ARM64.Build.0 = Release|ARM64
- {4482FD2A-EC43-3FFB-AC20-2E5C54B05EAD}.Release|x64.ActiveCfg = Release|x64
- {4482FD2A-EC43-3FFB-AC20-2E5C54B05EAD}.Release|x64.Build.0 = Release|x64
- {23114507-079A-4418-9707-CFA81A03CA99}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {23114507-079A-4418-9707-CFA81A03CA99}.Debug|ARM64.Build.0 = Debug|ARM64
- {23114507-079A-4418-9707-CFA81A03CA99}.Debug|x64.ActiveCfg = Debug|x64
- {23114507-079A-4418-9707-CFA81A03CA99}.Debug|x64.Build.0 = Debug|x64
- {23114507-079A-4418-9707-CFA81A03CA99}.Release|ARM64.ActiveCfg = Release|ARM64
- {23114507-079A-4418-9707-CFA81A03CA99}.Release|ARM64.Build.0 = Release|ARM64
- {23114507-079A-4418-9707-CFA81A03CA99}.Release|x64.ActiveCfg = Release|x64
- {23114507-079A-4418-9707-CFA81A03CA99}.Release|x64.Build.0 = Release|x64
- {4C3B2264-EA73-4A7B-9CFE-65B0FD635EBB}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {4C3B2264-EA73-4A7B-9CFE-65B0FD635EBB}.Debug|ARM64.Build.0 = Debug|ARM64
- {4C3B2264-EA73-4A7B-9CFE-65B0FD635EBB}.Debug|x64.ActiveCfg = Debug|x64
- {4C3B2264-EA73-4A7B-9CFE-65B0FD635EBB}.Debug|x64.Build.0 = Debug|x64
- {4C3B2264-EA73-4A7B-9CFE-65B0FD635EBB}.Release|ARM64.ActiveCfg = Release|ARM64
- {4C3B2264-EA73-4A7B-9CFE-65B0FD635EBB}.Release|ARM64.Build.0 = Release|ARM64
- {4C3B2264-EA73-4A7B-9CFE-65B0FD635EBB}.Release|x64.ActiveCfg = Release|x64
- {4C3B2264-EA73-4A7B-9CFE-65B0FD635EBB}.Release|x64.Build.0 = Release|x64
- {A608225E-AE0A-4D1A-9B55-97F57C862391}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {A608225E-AE0A-4D1A-9B55-97F57C862391}.Debug|ARM64.Build.0 = Debug|ARM64
- {A608225E-AE0A-4D1A-9B55-97F57C862391}.Debug|x64.ActiveCfg = Debug|x64
- {A608225E-AE0A-4D1A-9B55-97F57C862391}.Debug|x64.Build.0 = Debug|x64
- {A608225E-AE0A-4D1A-9B55-97F57C862391}.Release|ARM64.ActiveCfg = Release|ARM64
- {A608225E-AE0A-4D1A-9B55-97F57C862391}.Release|ARM64.Build.0 = Release|ARM64
- {A608225E-AE0A-4D1A-9B55-97F57C862391}.Release|x64.ActiveCfg = Release|x64
- {A608225E-AE0A-4D1A-9B55-97F57C862391}.Release|x64.Build.0 = Release|x64
- {1D8C51D2-FFA4-418E-B183-9F42B6A6717E}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {1D8C51D2-FFA4-418E-B183-9F42B6A6717E}.Debug|ARM64.Build.0 = Debug|ARM64
- {1D8C51D2-FFA4-418E-B183-9F42B6A6717E}.Debug|x64.ActiveCfg = Debug|x64
- {1D8C51D2-FFA4-418E-B183-9F42B6A6717E}.Debug|x64.Build.0 = Debug|x64
- {1D8C51D2-FFA4-418E-B183-9F42B6A6717E}.Release|ARM64.ActiveCfg = Release|ARM64
- {1D8C51D2-FFA4-418E-B183-9F42B6A6717E}.Release|ARM64.Build.0 = Release|ARM64
- {1D8C51D2-FFA4-418E-B183-9F42B6A6717E}.Release|x64.ActiveCfg = Release|x64
- {1D8C51D2-FFA4-418E-B183-9F42B6A6717E}.Release|x64.Build.0 = Release|x64
- {055A775F-B4F5-4970-9240-F6CF7661F37B}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {055A775F-B4F5-4970-9240-F6CF7661F37B}.Debug|ARM64.Build.0 = Debug|ARM64
- {055A775F-B4F5-4970-9240-F6CF7661F37B}.Debug|x64.ActiveCfg = Debug|x64
- {055A775F-B4F5-4970-9240-F6CF7661F37B}.Debug|x64.Build.0 = Debug|x64
- {055A775F-B4F5-4970-9240-F6CF7661F37B}.Release|ARM64.ActiveCfg = Release|ARM64
- {055A775F-B4F5-4970-9240-F6CF7661F37B}.Release|ARM64.Build.0 = Release|ARM64
- {055A775F-B4F5-4970-9240-F6CF7661F37B}.Release|x64.ActiveCfg = Release|x64
- {055A775F-B4F5-4970-9240-F6CF7661F37B}.Release|x64.Build.0 = Release|x64
- {1BEA10F3-80CE-4BC4-9331-5769372CDF99}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {1BEA10F3-80CE-4BC4-9331-5769372CDF99}.Debug|ARM64.Build.0 = Debug|ARM64
- {1BEA10F3-80CE-4BC4-9331-5769372CDF99}.Debug|x64.ActiveCfg = Debug|x64
- {1BEA10F3-80CE-4BC4-9331-5769372CDF99}.Debug|x64.Build.0 = Debug|x64
- {1BEA10F3-80CE-4BC4-9331-5769372CDF99}.Release|ARM64.ActiveCfg = Release|ARM64
- {1BEA10F3-80CE-4BC4-9331-5769372CDF99}.Release|ARM64.Build.0 = Release|ARM64
- {1BEA10F3-80CE-4BC4-9331-5769372CDF99}.Release|x64.ActiveCfg = Release|x64
- {1BEA10F3-80CE-4BC4-9331-5769372CDF99}.Release|x64.Build.0 = Release|x64
- {864C4C8E-296D-3DBC-AD83-F1D5CB6E8EC6}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {864C4C8E-296D-3DBC-AD83-F1D5CB6E8EC6}.Debug|ARM64.Build.0 = Debug|ARM64
- {864C4C8E-296D-3DBC-AD83-F1D5CB6E8EC6}.Debug|x64.ActiveCfg = Debug|x64
- {864C4C8E-296D-3DBC-AD83-F1D5CB6E8EC6}.Debug|x64.Build.0 = Debug|x64
- {864C4C8E-296D-3DBC-AD83-F1D5CB6E8EC6}.Release|ARM64.ActiveCfg = Release|ARM64
- {864C4C8E-296D-3DBC-AD83-F1D5CB6E8EC6}.Release|ARM64.Build.0 = Release|ARM64
- {864C4C8E-296D-3DBC-AD83-F1D5CB6E8EC6}.Release|x64.ActiveCfg = Release|x64
- {864C4C8E-296D-3DBC-AD83-F1D5CB6E8EC6}.Release|x64.Build.0 = Release|x64
- {4BC5A148-0AB3-440F-A980-A29B4B999190}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {4BC5A148-0AB3-440F-A980-A29B4B999190}.Debug|ARM64.Build.0 = Debug|ARM64
- {4BC5A148-0AB3-440F-A980-A29B4B999190}.Debug|x64.ActiveCfg = Debug|x64
- {4BC5A148-0AB3-440F-A980-A29B4B999190}.Debug|x64.Build.0 = Debug|x64
- {4BC5A148-0AB3-440F-A980-A29B4B999190}.Release|ARM64.ActiveCfg = Release|ARM64
- {4BC5A148-0AB3-440F-A980-A29B4B999190}.Release|ARM64.Build.0 = Release|ARM64
- {4BC5A148-0AB3-440F-A980-A29B4B999190}.Release|x64.ActiveCfg = Release|x64
- {4BC5A148-0AB3-440F-A980-A29B4B999190}.Release|x64.Build.0 = Release|x64
- {3D780617-EC8C-4721-B9FD-DFC9BB658C7C}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {3D780617-EC8C-4721-B9FD-DFC9BB658C7C}.Debug|ARM64.Build.0 = Debug|ARM64
- {3D780617-EC8C-4721-B9FD-DFC9BB658C7C}.Debug|x64.ActiveCfg = Debug|x64
- {3D780617-EC8C-4721-B9FD-DFC9BB658C7C}.Debug|x64.Build.0 = Debug|x64
- {3D780617-EC8C-4721-B9FD-DFC9BB658C7C}.Release|ARM64.ActiveCfg = Release|ARM64
- {3D780617-EC8C-4721-B9FD-DFC9BB658C7C}.Release|ARM64.Build.0 = Release|ARM64
- {3D780617-EC8C-4721-B9FD-DFC9BB658C7C}.Release|x64.ActiveCfg = Release|x64
- {3D780617-EC8C-4721-B9FD-DFC9BB658C7C}.Release|x64.Build.0 = Release|x64
- {8DC244EE-A0BD-4038-BAF7-CFAFA5EB2BAA}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {8DC244EE-A0BD-4038-BAF7-CFAFA5EB2BAA}.Debug|ARM64.Build.0 = Debug|ARM64
- {8DC244EE-A0BD-4038-BAF7-CFAFA5EB2BAA}.Debug|x64.ActiveCfg = Debug|x64
- {8DC244EE-A0BD-4038-BAF7-CFAFA5EB2BAA}.Debug|x64.Build.0 = Debug|x64
- {8DC244EE-A0BD-4038-BAF7-CFAFA5EB2BAA}.Release|ARM64.ActiveCfg = Release|ARM64
- {8DC244EE-A0BD-4038-BAF7-CFAFA5EB2BAA}.Release|ARM64.Build.0 = Release|ARM64
- {8DC244EE-A0BD-4038-BAF7-CFAFA5EB2BAA}.Release|x64.ActiveCfg = Release|x64
- {8DC244EE-A0BD-4038-BAF7-CFAFA5EB2BAA}.Release|x64.Build.0 = Release|x64
- {3F17D282-A77D-4931-B844-903AD0809A5E}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {3F17D282-A77D-4931-B844-903AD0809A5E}.Debug|ARM64.Build.0 = Debug|ARM64
- {3F17D282-A77D-4931-B844-903AD0809A5E}.Debug|x64.ActiveCfg = Debug|x64
- {3F17D282-A77D-4931-B844-903AD0809A5E}.Debug|x64.Build.0 = Debug|x64
- {3F17D282-A77D-4931-B844-903AD0809A5E}.Release|ARM64.ActiveCfg = Release|ARM64
- {3F17D282-A77D-4931-B844-903AD0809A5E}.Release|ARM64.Build.0 = Release|ARM64
- {3F17D282-A77D-4931-B844-903AD0809A5E}.Release|x64.ActiveCfg = Release|x64
- {3F17D282-A77D-4931-B844-903AD0809A5E}.Release|x64.Build.0 = Release|x64
- {447B7B1E-1D74-4AEF-B2B9-6EB41C5D5313}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {447B7B1E-1D74-4AEF-B2B9-6EB41C5D5313}.Debug|ARM64.Build.0 = Debug|ARM64
- {447B7B1E-1D74-4AEF-B2B9-6EB41C5D5313}.Debug|x64.ActiveCfg = Debug|x64
- {447B7B1E-1D74-4AEF-B2B9-6EB41C5D5313}.Debug|x64.Build.0 = Debug|x64
- {447B7B1E-1D74-4AEF-B2B9-6EB41C5D5313}.Release|ARM64.ActiveCfg = Release|ARM64
- {447B7B1E-1D74-4AEF-B2B9-6EB41C5D5313}.Release|ARM64.Build.0 = Release|ARM64
- {447B7B1E-1D74-4AEF-B2B9-6EB41C5D5313}.Release|x64.ActiveCfg = Release|x64
- {447B7B1E-1D74-4AEF-B2B9-6EB41C5D5313}.Release|x64.Build.0 = Release|x64
- {CC99A910-3752-4465-95AA-7DC240D92A99}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {CC99A910-3752-4465-95AA-7DC240D92A99}.Debug|ARM64.Build.0 = Debug|ARM64
- {CC99A910-3752-4465-95AA-7DC240D92A99}.Debug|x64.ActiveCfg = Debug|x64
- {CC99A910-3752-4465-95AA-7DC240D92A99}.Debug|x64.Build.0 = Debug|x64
- {CC99A910-3752-4465-95AA-7DC240D92A99}.Release|ARM64.ActiveCfg = Release|ARM64
- {CC99A910-3752-4465-95AA-7DC240D92A99}.Release|ARM64.Build.0 = Release|ARM64
- {CC99A910-3752-4465-95AA-7DC240D92A99}.Release|x64.ActiveCfg = Release|x64
- {CC99A910-3752-4465-95AA-7DC240D92A99}.Release|x64.Build.0 = Release|x64
- {8BDA3693-4999-4D11-9E52-8D08C30B643A}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {8BDA3693-4999-4D11-9E52-8D08C30B643A}.Debug|ARM64.Build.0 = Debug|ARM64
- {8BDA3693-4999-4D11-9E52-8D08C30B643A}.Debug|x64.ActiveCfg = Debug|x64
- {8BDA3693-4999-4D11-9E52-8D08C30B643A}.Debug|x64.Build.0 = Debug|x64
- {8BDA3693-4999-4D11-9E52-8D08C30B643A}.Release|ARM64.ActiveCfg = Release|ARM64
- {8BDA3693-4999-4D11-9E52-8D08C30B643A}.Release|ARM64.Build.0 = Release|ARM64
- {8BDA3693-4999-4D11-9E52-8D08C30B643A}.Release|x64.ActiveCfg = Release|x64
- {8BDA3693-4999-4D11-9E52-8D08C30B643A}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {8ADA04D7-6DB1-4DA4-AB55-64FB12A0997B} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {AB993F38-C31D-4897-B139-A620C42BC565} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {9092C5CC-3E71-41B3-BF68-4A7BDD8A5476} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {31643FDB-1BB8-4965-9DE7-000FC88D35AE} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {677EA016-1182-440C-9345-DC88D1E98C0C} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {F6EA7144-8D64-4EBB-A13E-76DFBD911EAE} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {BDB6578B-0691-4E80-A46C-DF21639FD3B8} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {93D73454-2512-424E-9CDA-4BB357FE13DD} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {349EE8F9-7D25-4909-AAF5-FF3FADE72187} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {CBC76802-C128-4B17-BF6C-23B08C313E5E} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {BB00605C-125F-4A21-B33B-7BF418322DCB} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {D178061B-84D3-44F9-BEED-EFD18D9033F0} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {7299DDD3-BBEC-4027-AF30-8DACC5415F96} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {C636D9D1-82FE-42B5-9987-63B7D4836341} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {8EA11166-6512-44FC-B7A5-A4D1ECC81170} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {38FEE76F-F347-484B-949C-B4649381CFFB} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {2C0D058E-DE35-4471-AD99-E68A2CAF9E18} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {5BDF4B91-1491-4FB0-BC27-78E9A8E97DC3} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {8498F2FA-5CA6-4169-9971-DE5B1FE6132C} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {4482FD2A-EC43-3FFB-AC20-2E5C54B05EAD} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {23114507-079A-4418-9707-CFA81A03CA99} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {4C3B2264-EA73-4A7B-9CFE-65B0FD635EBB} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {A608225E-AE0A-4D1A-9B55-97F57C862391} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {1D8C51D2-FFA4-418E-B183-9F42B6A6717E} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {055A775F-B4F5-4970-9240-F6CF7661F37B} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {1BEA10F3-80CE-4BC4-9331-5769372CDF99} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {864C4C8E-296D-3DBC-AD83-F1D5CB6E8EC6} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {4BC5A148-0AB3-440F-A980-A29B4B999190} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {3D780617-EC8C-4721-B9FD-DFC9BB658C7C} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {8DC244EE-A0BD-4038-BAF7-CFAFA5EB2BAA} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {3F17D282-A77D-4931-B844-903AD0809A5E} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {447B7B1E-1D74-4AEF-B2B9-6EB41C5D5313} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {CC99A910-3752-4465-95AA-7DC240D92A99} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- {8BDA3693-4999-4D11-9E52-8D08C30B643A} = {87ADDFF9-5768-4DA2-A33B-2477593D6677}
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {64B0A343-3B94-4522-9C24-6937FE5EFB22}
- EndGlobalSection
-EndGlobal