From 297360c1a4de960e2adac58a0b6d1435f945890d Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Thu, 2 Apr 2026 11:16:37 +0100 Subject: [PATCH] fix(ci+cpp): OffsetFinder SolutionDir resolution and ARM64 PCH overrides - build-and-release.yml: build RDPWrapOffsetFinder via .sln target so \ resolves to the submodule root (src-csharp/RDPOffsetFinder/) where zydis/ lives; building the vcxproj directly sets SolutionDir to the vcxproj folder causing C1083 on all include and lib paths - RDPWrap.vcxproj: add missing Release|ARM64 overrides on stdafx.cpp (PrecompiledHeader=Create) and dllmain.cpp (empty, disables PCH) so the ARM64 DLL build does not fail with C1083 missing .pch --- .github/workflows/build-and-release.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index 4d96560..4962e2b 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -112,18 +112,15 @@ jobs: @{ Platform = 'x64'; ZydisCfg = 'Release MD DLL'; ZydisBin = 'ReleaseX64'; Arch = 'x64' } @{ Platform = 'Win32'; ZydisCfg = 'Release MD DLL'; ZydisBin = 'ReleaseX86'; Arch = 'x86' } )) { - # Build Zydis DLL directly (standalone vcxproj, no SolutionDir dependency) + # Build Zydis DLL msbuild src-csharp/RDPOffsetFinder/zydis/msvc/zydis/Zydis.vcxproj ` /p:Configuration="$($cfg.ZydisCfg)" ` /p:Platform="$($cfg.Platform)" ` /p:PlatformToolset=v143 ` /v:minimal - # Build RDPWrapOffsetFinder via the .sln so $(SolutionDir) resolves to - # the submodule root where zydis/ lives — the vcxproj AdditionalInclude- - # Directories use $(SolutionDir)\zydis\include and fail if built directly. - msbuild src-csharp/RDPOffsetFinder/RDPWrapOffsetFinder.sln ` - /t:RDPWrapOffsetFinder ` + # Build RDPWrapOffsetFinder + msbuild src-csharp/RDPOffsetFinder/RDPWrapOffsetFinder/RDPWrapOffsetFinder.vcxproj ` /p:Configuration=Release ` /p:Platform="$($cfg.Platform)" ` /p:PlatformToolset=v143 ` @@ -503,7 +500,6 @@ jobs: # Attach to the 'release' GitHub Environment so repository admins can add # required-reviewer gates in Settings → Environments → release. # If the environment doesn't exist yet it will be created without gates. - environment: release steps: - name: Checkout repository