From 98011ed6d1901f5f00260a1d6548e00732f8ef79 Mon Sep 17 00:00:00 2001 From: michioxd Date: Mon, 13 Apr 2026 11:15:29 +0700 Subject: [PATCH 01/12] ci: hell --- .github/workflows/ci.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1d2d04c..195aa2e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,8 +43,6 @@ jobs: - name: Patch SDK shell: pwsh run: | - $ns = @{msb="http://schemas.microsoft.com/developer/msbuild/2003"} - $map = @{ "lib\foobar2000_sdk\libPPUI\libPPUI.vcxproj" = "../..;..;..\..\wtl\Include" "lib\foobar2000_sdk\foobar2000\helpers\foobar2000_sdk_helpers.vcxproj" = "..\..\..\wtl\Include" @@ -52,9 +50,9 @@ jobs: foreach ($f in $map.Keys) { [xml]$x = Get-Content $f - $x.SelectNodes("//msb:AdditionalIncludeDirectories", $ns) | % { - $_.InnerText = $map[$f] - } + $ns = New-Object System.Xml.XmlNamespaceManager($x.NameTable) + $ns.AddNamespace("msb", "http://schemas.microsoft.com/developer/msbuild/2003") + $x.SelectNodes("//msb:ClCompile/msb:AdditionalIncludeDirectories", $ns) | % { $_.InnerText = $map[$f] } $x.Save($f) } From 9217b508f4b86559d8b69552993b9d511e42e61a Mon Sep 17 00:00:00 2001 From: michioxd Date: Mon, 13 Apr 2026 11:17:21 +0700 Subject: [PATCH 02/12] hsdkjfhjskhfekdjhwkfuhewkujhkufewf --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 195aa2e..48a48ec 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,7 +45,7 @@ jobs: run: | $map = @{ "lib\foobar2000_sdk\libPPUI\libPPUI.vcxproj" = "../..;..;..\..\wtl\Include" - "lib\foobar2000_sdk\foobar2000\helpers\foobar2000_sdk_helpers.vcxproj" = "..\..\..\wtl\Include" + "lib\foobar2000_sdk\foobar2000\helpers\foobar2000_sdk_helpers.vcxproj" = "..;..\..;..\..\..\wtl\Include" } foreach ($f in $map.Keys) { From 8f56be6c078d387c282fc1a7da70cd7755543ab7 Mon Sep 17 00:00:00 2001 From: michioxd Date: Mon, 13 Apr 2026 17:58:19 +0700 Subject: [PATCH 03/12] wtl --- src/foo_opensubsonic.vcxproj | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/foo_opensubsonic.vcxproj b/src/foo_opensubsonic.vcxproj index 3745a52..098fca5 100644 --- a/src/foo_opensubsonic.vcxproj +++ b/src/foo_opensubsonic.vcxproj @@ -145,7 +145,7 @@ Use Level3 stdcpp20 - ..\lib\foobar2000_sdk\foobar2000;..\lib\foobar2000_sdk\;...\lib\foobar2000_sdk\libPPUI;..\lib\WTL\Include;..\lib\nlohmann;..\lib;%(AdditionalIncludeDirectories) + ..\lib\foobar2000_sdk\foobar2000;..\lib\foobar2000_sdk\;...\lib\foobar2000_sdk\libPPUI;..\lib\wtl\Include;..\lib\nlohmann;..\lib;%(AdditionalIncludeDirectories) Disabled DEBUG;%(PreprocessorDefinitions) MultiThreadedDebugDLL @@ -160,7 +160,7 @@ Use Level3 stdcpp20 - ..\lib\foobar2000_sdk\foobar2000;..\lib\foobar2000_sdk\;...\lib\foobar2000_sdk\libPPUI;..\lib\WTL\Include;..\lib\nlohmann;..\lib;%(AdditionalIncludeDirectories) + ..\lib\foobar2000_sdk\foobar2000;..\lib\foobar2000_sdk\;...\lib\foobar2000_sdk\libPPUI;..\lib\wtl\Include;..\lib\nlohmann;..\lib;%(AdditionalIncludeDirectories) Disabled DEBUG;%(PreprocessorDefinitions) MultiThreadedDebugDLL @@ -175,7 +175,7 @@ Use Level3 stdcpp20 - ..\lib\foobar2000_sdk\foobar2000;..\lib\foobar2000_sdk\;...\lib\foobar2000_sdk\libPPUI;..\lib\WTL\Include;..\lib\nlohmann;..\lib;%(AdditionalIncludeDirectories) + ..\lib\foobar2000_sdk\foobar2000;..\lib\foobar2000_sdk\;...\lib\foobar2000_sdk\libPPUI;..\lib\wtl\Include;..\lib\nlohmann;..\lib;%(AdditionalIncludeDirectories) Disabled DEBUG;%(PreprocessorDefinitions) MultiThreadedDebugDLL @@ -190,7 +190,7 @@ Use Level3 stdcpp20 - ..\lib\foobar2000_sdk\foobar2000;..\lib\foobar2000_sdk\;...\lib\foobar2000_sdk\libPPUI;..\lib\WTL\Include;..\lib\nlohmann;..\lib;%(AdditionalIncludeDirectories) + ..\lib\foobar2000_sdk\foobar2000;..\lib\foobar2000_sdk\;...\lib\foobar2000_sdk\libPPUI;..\lib\wtl\Include;..\lib\nlohmann;..\lib;%(AdditionalIncludeDirectories) Disabled DEBUG;%(PreprocessorDefinitions) MultiThreadedDebugDLL @@ -205,7 +205,7 @@ Level3 Use stdcpp20 - ..\lib\foobar2000_sdk\foobar2000;..\lib\foobar2000_sdk\;...\lib\foobar2000_sdk\libPPUI;..\lib\WTL\Include;..\lib\nlohmann;..\lib;%(AdditionalIncludeDirectories) + ..\lib\foobar2000_sdk\foobar2000;..\lib\foobar2000_sdk\;...\lib\foobar2000_sdk\libPPUI;..\lib\wtl\Include;..\lib\nlohmann;..\lib;%(AdditionalIncludeDirectories) NDEBUG;%(PreprocessorDefinitions) @@ -221,7 +221,7 @@ Level3 Use stdcpp20 - ..\lib\foobar2000_sdk\foobar2000;..\lib\foobar2000_sdk\;...\lib\foobar2000_sdk\libPPUI;..\lib\WTL\Include;..\lib\nlohmann;..\lib;%(AdditionalIncludeDirectories) + ..\lib\foobar2000_sdk\foobar2000;..\lib\foobar2000_sdk\;...\lib\foobar2000_sdk\libPPUI;..\lib\wtl\Include;..\lib\nlohmann;..\lib;%(AdditionalIncludeDirectories) NDEBUG;%(PreprocessorDefinitions) @@ -237,7 +237,7 @@ Level3 Use stdcpp20 - ..\lib\foobar2000_sdk\foobar2000;..\lib\foobar2000_sdk\;...\lib\foobar2000_sdk\libPPUI;..\lib\WTL\Include;..\lib\nlohmann;..\lib;%(AdditionalIncludeDirectories) + ..\lib\foobar2000_sdk\foobar2000;..\lib\foobar2000_sdk\;...\lib\foobar2000_sdk\libPPUI;..\lib\wtl\Include;..\lib\nlohmann;..\lib;%(AdditionalIncludeDirectories) NDEBUG;%(PreprocessorDefinitions) @@ -253,7 +253,7 @@ Level3 Use stdcpp20 - ..\lib\foobar2000_sdk\foobar2000;..\lib\foobar2000_sdk\;...\lib\foobar2000_sdk\libPPUI;..\lib\WTL\Include;..\lib\nlohmann;..\lib;%(AdditionalIncludeDirectories) + ..\lib\foobar2000_sdk\foobar2000;..\lib\foobar2000_sdk\;...\lib\foobar2000_sdk\libPPUI;..\lib\wtl\Include;..\lib\nlohmann;..\lib;%(AdditionalIncludeDirectories) NDEBUG;%(PreprocessorDefinitions) From ea54837d651355829f58b779467cd94233705ede Mon Sep 17 00:00:00 2001 From: michioxd Date: Mon, 13 Apr 2026 18:05:45 +0700 Subject: [PATCH 04/12] missing AdditionalIncludeDirectories --- .github/workflows/ci.yml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 48a48ec..49af0dc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -44,16 +44,22 @@ jobs: shell: pwsh run: | $map = @{ - "lib\foobar2000_sdk\libPPUI\libPPUI.vcxproj" = "../..;..;..\..\wtl\Include" - "lib\foobar2000_sdk\foobar2000\helpers\foobar2000_sdk_helpers.vcxproj" = "..;..\..;..\..\..\wtl\Include" + "lib\foobar2000_sdk\libPPUI\libPPUI.vcxproj" = "../..;..;..\..\wtl\Include;%(AdditionalIncludeDirectories)" + "lib\foobar2000_sdk\foobar2000\helpers\foobar2000_sdk_helpers.vcxproj" = "..;..\..;..\..\..\wtl\Include;%(AdditionalIncludeDirectories)" } foreach ($f in $map.Keys) { - [xml]$x = Get-Content $f + $filePath = Resolve-Path $f + + [xml]$x = Get-Content $filePath $ns = New-Object System.Xml.XmlNamespaceManager($x.NameTable) $ns.AddNamespace("msb", "http://schemas.microsoft.com/developer/msbuild/2003") - $x.SelectNodes("//msb:ClCompile/msb:AdditionalIncludeDirectories", $ns) | % { $_.InnerText = $map[$f] } - $x.Save($f) + + $x.SelectNodes("//msb:ClCompile/msb:AdditionalIncludeDirectories", $ns) | ForEach-Object { + $_.InnerText = $map[$f] + } + + $x.Save($filePath) } - name: Setup devcmd From 7cf0b297a580907f5b33407fcaafbf4ed777f6a5 Mon Sep 17 00:00:00 2001 From: michioxd Date: Mon, 13 Apr 2026 18:08:12 +0700 Subject: [PATCH 05/12] testing --- .github/workflows/ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 49af0dc..8ea9891 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -62,6 +62,9 @@ jobs: $x.Save($filePath) } + cat lib\foobar2000_sdk\libPPUI\libPPUI.vcxproj + cat lib\foobar2000_sdk\foobar2000\helpers\foobar2000_sdk_helpers.vcxproj + - name: Setup devcmd uses: ilammy/msvc-dev-cmd@v1 From 081a329694a10bd0928eaa35a382a143375665ce Mon Sep 17 00:00:00 2001 From: michioxd Date: Mon, 13 Apr 2026 18:11:22 +0700 Subject: [PATCH 06/12] use atl --- .github/workflows/ci.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8ea9891..f2b4238 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,9 +17,9 @@ jobs: FBSDK_VERSION: 2025-03-07 SOL_FILE: foo_opensubsonic.sln - MSBUILD_CMD_X86: /maxcpucount /property:RestorePackagesConfig=true,Configuration=Release,Platform=Win32 /target:restore,build - MSBUILD_CMD_X64: /maxcpucount /property:RestorePackagesConfig=true,Configuration=Release,Platform=x64 /target:restore,build - MSBUILD_CMD_ARM64EC: /maxcpucount /property:RestorePackagesConfig=true,Configuration=Release,Platform=ARM64EC /target:restore,build + MSBUILD_CMD_X86: /maxcpucount /property:RestorePackagesConfig=true,Configuration=Release,Platform=Win32,UseOfAtl=Static /target:restore,build + MSBUILD_CMD_X64: /maxcpucount /property:RestorePackagesConfig=true,Configuration=Release,Platform=x64,UseOfAtl=Static /target:restore,build + MSBUILD_CMD_ARM64EC: /maxcpucount /property:RestorePackagesConfig=true,Configuration=Release,Platform=ARM64EC,UseOfAtl=Static /target:restore,build steps: - name: Checkout repository @@ -62,9 +62,6 @@ jobs: $x.Save($filePath) } - cat lib\foobar2000_sdk\libPPUI\libPPUI.vcxproj - cat lib\foobar2000_sdk\foobar2000\helpers\foobar2000_sdk_helpers.vcxproj - - name: Setup devcmd uses: ilammy/msvc-dev-cmd@v1 From 4323dffb380b51ab81a4b18c2b2759551dc73c6e Mon Sep 17 00:00:00 2001 From: michioxd Date: Mon, 13 Apr 2026 18:14:14 +0700 Subject: [PATCH 07/12] Refactor CI configuration to use MSBuild properties for ATL and WTL integration --- .github/workflows/ci.yml | 39 +++++++++++++++++---------------------- 1 file changed, 17 insertions(+), 22 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f2b4238..3511a3e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,9 +17,9 @@ jobs: FBSDK_VERSION: 2025-03-07 SOL_FILE: foo_opensubsonic.sln - MSBUILD_CMD_X86: /maxcpucount /property:RestorePackagesConfig=true,Configuration=Release,Platform=Win32,UseOfAtl=Static /target:restore,build - MSBUILD_CMD_X64: /maxcpucount /property:RestorePackagesConfig=true,Configuration=Release,Platform=x64,UseOfAtl=Static /target:restore,build - MSBUILD_CMD_ARM64EC: /maxcpucount /property:RestorePackagesConfig=true,Configuration=Release,Platform=ARM64EC,UseOfAtl=Static /target:restore,build + MSBUILD_CMD_X86: /maxcpucount /p:RestorePackagesConfig=true /p:Configuration=Release /p:Platform=Win32 /t:restore,build + MSBUILD_CMD_X64: /maxcpucount /p:RestorePackagesConfig=true /p:Configuration=Release /p:Platform=x64 /t:restore,build + MSBUILD_CMD_ARM64EC: /maxcpucount /p:RestorePackagesConfig=true /p:Configuration=Release /p:Platform=ARM64EC /t:restore,build steps: - name: Checkout repository @@ -40,27 +40,22 @@ jobs: dir lib - - name: Patch SDK + - name: Inject Global MSBuild Properties (ATL & WTL) shell: pwsh run: | - $map = @{ - "lib\foobar2000_sdk\libPPUI\libPPUI.vcxproj" = "../..;..;..\..\wtl\Include;%(AdditionalIncludeDirectories)" - "lib\foobar2000_sdk\foobar2000\helpers\foobar2000_sdk_helpers.vcxproj" = "..;..\..;..\..\..\wtl\Include;%(AdditionalIncludeDirectories)" - } - - foreach ($f in $map.Keys) { - $filePath = Resolve-Path $f - - [xml]$x = Get-Content $filePath - $ns = New-Object System.Xml.XmlNamespaceManager($x.NameTable) - $ns.AddNamespace("msb", "http://schemas.microsoft.com/developer/msbuild/2003") - - $x.SelectNodes("//msb:ClCompile/msb:AdditionalIncludeDirectories", $ns) | ForEach-Object { - $_.InnerText = $map[$f] - } - - $x.Save($filePath) - } + $props = @' + + + Static + + + + $(MSBuildThisFileDirectory)lib\wtl\Include;%(AdditionalIncludeDirectories) + + + + '@ + Set-Content -Path "Directory.Build.props" -Value $props -Encoding utf8 - name: Setup devcmd uses: ilammy/msvc-dev-cmd@v1 From 490d3d03c394288d725dafbf8c3dcd057a777933 Mon Sep 17 00:00:00 2001 From: michioxd Date: Mon, 13 Apr 2026 18:18:17 +0700 Subject: [PATCH 08/12] Update MSBuild properties to use Directory.Build.targets for WTL integration --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3511a3e..9f84581 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,19 +43,19 @@ jobs: - name: Inject Global MSBuild Properties (ATL & WTL) shell: pwsh run: | - $props = @' + $targets = @' Static - $(MSBuildThisFileDirectory)lib\wtl\Include;%(AdditionalIncludeDirectories) + $(MSBuildThisFileDirectory)lib\wtl\Include;$(VC_ATLMFC_IncludePath);%(AdditionalIncludeDirectories) '@ - Set-Content -Path "Directory.Build.props" -Value $props -Encoding utf8 + Set-Content -Path "Directory.Build.targets" -Value $targets -Encoding utf8 - name: Setup devcmd uses: ilammy/msvc-dev-cmd@v1 From b76347501501ab2099f3d55ca351b84132b21e8a Mon Sep 17 00:00:00 2001 From: michioxd Date: Mon, 13 Apr 2026 18:23:53 +0700 Subject: [PATCH 09/12] Update CI configuration to include ATL support and adjust MSBuild properties --- .github/workflows/ci.yml | 50 ++++++++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 17 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9f84581..1c6ad67 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,9 +17,9 @@ jobs: FBSDK_VERSION: 2025-03-07 SOL_FILE: foo_opensubsonic.sln - MSBUILD_CMD_X86: /maxcpucount /p:RestorePackagesConfig=true /p:Configuration=Release /p:Platform=Win32 /t:restore,build - MSBUILD_CMD_X64: /maxcpucount /p:RestorePackagesConfig=true /p:Configuration=Release /p:Platform=x64 /t:restore,build - MSBUILD_CMD_ARM64EC: /maxcpucount /p:RestorePackagesConfig=true /p:Configuration=Release /p:Platform=ARM64EC /t:restore,build + MSBUILD_CMD_X86: /maxcpucount /property:RestorePackagesConfig=true,Configuration=Release,Platform=Win32,UseOfAtl=Static /target:restore,build + MSBUILD_CMD_X64: /maxcpucount /property:RestorePackagesConfig=true,Configuration=Release,Platform=x64,UseOfAtl=Static /target:restore,build + MSBUILD_CMD_ARM64EC: /maxcpucount /property:RestorePackagesConfig=true,Configuration=Release,Platform=ARM64EC,UseOfAtl=Static /target:restore,build steps: - name: Checkout repository @@ -40,22 +40,38 @@ jobs: dir lib - - name: Inject Global MSBuild Properties (ATL & WTL) + - name: Patch SDK shell: pwsh run: | - $targets = @' - - - Static - - - - $(MSBuildThisFileDirectory)lib\wtl\Include;$(VC_ATLMFC_IncludePath);%(AdditionalIncludeDirectories) - - - - '@ - Set-Content -Path "Directory.Build.targets" -Value $targets -Encoding utf8 + $projectPatches = @{ + "lib\foobar2000_sdk\libPPUI\libPPUI.vcxproj" = "../..;..;..\..\wtl\Include;%(AdditionalIncludeDirectories)" + "lib\foobar2000_sdk\foobar2000\helpers\foobar2000_sdk_helpers.vcxproj" = "..;..\..;..\..\..\wtl\Include;%(AdditionalIncludeDirectories)" + } + + foreach ($project in $projectPatches.GetEnumerator()) { + $filePath = Resolve-Path $project.Key + + [xml]$x = Get-Content $filePath + $ns = New-Object System.Xml.XmlNamespaceManager($x.NameTable) + $ns.AddNamespace("msb", "http://schemas.microsoft.com/developer/msbuild/2003") + $msbuildNs = $ns.LookupNamespace("msb") + + $x.SelectNodes("//msb:ClCompile/msb:AdditionalIncludeDirectories", $ns) | ForEach-Object { + $_.InnerText = $project.Value + } + + $x.SelectNodes("//msb:PropertyGroup[@Label='Configuration']", $ns) | ForEach-Object { + $useOfAtl = $_.SelectSingleNode("msb:UseOfAtl", $ns) + if ($null -eq $useOfAtl) { + $useOfAtl = $x.CreateElement("UseOfAtl", $msbuildNs) + [void]$_.AppendChild($useOfAtl) + } + + $useOfAtl.InnerText = "Static" + } + + $x.Save($filePath) + } - name: Setup devcmd uses: ilammy/msvc-dev-cmd@v1 From cfa64a34e744a3052cd94282c9bdf906b92ce585 Mon Sep 17 00:00:00 2001 From: michioxd Date: Mon, 13 Apr 2026 18:28:16 +0700 Subject: [PATCH 10/12] Add step to install ATL components in CI workflow --- .github/workflows/ci.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1c6ad67..ddbba1a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -73,6 +73,27 @@ jobs: $x.Save($filePath) } + - name: Install ATL components + shell: pwsh + run: | + $vswhere = Join-Path ${env:ProgramFiles(x86)} "Microsoft Visual Studio\Installer\vswhere.exe" + $vsInstaller = Join-Path ${env:ProgramFiles(x86)} "Microsoft Visual Studio\Installer\vs_installer.exe" + $installPath = & $vswhere -latest -products * -requires Microsoft.Component.MSBuild -property installationPath + + if (-not $installPath) { + throw "Visual Studio installation path not found" + } + + & $vsInstaller modify ` + --installPath "$installPath" ` + --add Microsoft.VisualStudio.Component.VC.ATL ` + --add Microsoft.VisualStudio.Component.VC.ATL.ARM64 ` + --quiet --norestart --wait + + if ($LASTEXITCODE -ne 0) { + throw "Visual Studio component installation failed with exit code $LASTEXITCODE" + } + - name: Setup devcmd uses: ilammy/msvc-dev-cmd@v1 From 422dac7af30983cd51aa5d0b32a044ea7323722c Mon Sep 17 00:00:00 2001 From: michioxd Date: Mon, 13 Apr 2026 18:56:09 +0700 Subject: [PATCH 11/12] Enhance CI workflow to install additional ATL and MFC components for ARM64 support --- .github/workflows/ci.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ddbba1a..d55c324 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -87,13 +87,26 @@ jobs: & $vsInstaller modify ` --installPath "$installPath" ` --add Microsoft.VisualStudio.Component.VC.ATL ` + --add Microsoft.VisualStudio.Component.VC.ATLMFC ` --add Microsoft.VisualStudio.Component.VC.ATL.ARM64 ` + --add Microsoft.VisualStudio.Component.VC.MFC.ARM64 ` + --add Microsoft.VisualStudio.Component.VC.14.29.16.11.ATL ` + --add Microsoft.VisualStudio.Component.VC.14.29.16.11.MFC ` + --add Microsoft.VisualStudio.Component.VC.14.29.16.11.ATL.ARM64 ` + --add Microsoft.VisualStudio.Component.VC.14.29.16.11.MFC.ARM64 ` --quiet --norestart --wait if ($LASTEXITCODE -ne 0) { throw "Visual Studio component installation failed with exit code $LASTEXITCODE" } + $atlHeaders = Get-ChildItem -Path (Join-Path $installPath "VC\Tools\MSVC") -Filter atlbase.h -Recurse -ErrorAction SilentlyContinue + if (-not $atlHeaders) { + throw "ATL headers are still missing after component installation" + } + + $atlHeaders | Select-Object -ExpandProperty FullName + - name: Setup devcmd uses: ilammy/msvc-dev-cmd@v1 From b42e3e1ede64598105b14f1ac55113bc6ad6faf9 Mon Sep 17 00:00:00 2001 From: michioxd Date: Mon, 13 Apr 2026 18:59:55 +0700 Subject: [PATCH 12/12] Update project patch paths to include VC ATL/MFC include directory --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d55c324..cd89406 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -44,8 +44,8 @@ jobs: shell: pwsh run: | $projectPatches = @{ - "lib\foobar2000_sdk\libPPUI\libPPUI.vcxproj" = "../..;..;..\..\wtl\Include;%(AdditionalIncludeDirectories)" - "lib\foobar2000_sdk\foobar2000\helpers\foobar2000_sdk_helpers.vcxproj" = "..;..\..;..\..\..\wtl\Include;%(AdditionalIncludeDirectories)" + "lib\foobar2000_sdk\libPPUI\libPPUI.vcxproj" = '..;../..;..;..\..\wtl\Include;$(VC_AtlmfcIncludePath);%(AdditionalIncludeDirectories)' + "lib\foobar2000_sdk\foobar2000\helpers\foobar2000_sdk_helpers.vcxproj" = '..;..\..;..\..\..\wtl\Include;$(VC_AtlmfcIncludePath);%(AdditionalIncludeDirectories)' } foreach ($project in $projectPatches.GetEnumerator()) {