From 9ee2d3470e59bc2010d1efdbc8c8b6750c195b8a Mon Sep 17 00:00:00 2001 From: Eduardo Dantas Date: Wed, 12 Aug 2026 23:53:36 -0300 Subject: [PATCH] build(msbuild): share fingerprinted vcpkg dependencies --- .gitignore | 1 + vc18/SharedVcpkgCache.targets | 77 +++++++++++++++++++++++++++++++++++ vc18/otclient.vcxproj | 13 +++++- 3 files changed, 89 insertions(+), 2 deletions(-) create mode 100644 vc18/SharedVcpkgCache.targets diff --git a/.gitignore b/.gitignore index f77a0c54b..67e95b7fa 100644 --- a/.gitignore +++ b/.gitignore @@ -333,3 +333,4 @@ android/.gradle/ android/build/ luajit-src/ CMakeUserPresets.json +vc18/.canary-shared-cache/ diff --git a/vc18/SharedVcpkgCache.targets b/vc18/SharedVcpkgCache.targets new file mode 100644 index 000000000..038c24303 --- /dev/null +++ b/vc18/SharedVcpkgCache.targets @@ -0,0 +1,77 @@ + + + + + + <_CanaryVcpkgManifestFeature Include="$(CanaryVcpkgManifestFeatures)" Condition="'$(CanaryVcpkgManifestFeatures)'!=''" /> + <_CanaryVcpkgOverlayPort Include="$(CanaryVcpkgOverlayPorts)" Condition="'$(CanaryVcpkgOverlayPorts)'!=''" /> + <_CanaryVcpkgOverlayTriplet Include="$(CanaryVcpkgOverlayTriplets)" Condition="'$(CanaryVcpkgOverlayTriplets)'!=''" /> + <_CanaryVcpkgInstallOption Include="$(CanaryVcpkgInstallOptions)" Condition="'$(CanaryVcpkgInstallOptions)'!=''" /> + + + <_CanaryVcpkgFeatureFlagOptions Condition="'$(CanaryVcpkgFeatureFlags)'!=''">--feature-flags=$([System.String]::Copy('$(CanaryVcpkgFeatureFlags)').Replace(';', ',')) + <_CanaryVcpkgManifestFeatureOptions>@(_CanaryVcpkgManifestFeature->'--x-feature=%(Identity)', ' ') + <_CanaryVcpkgNoDefaultFeatureOptions Condition="'$(CanaryVcpkgManifestNoDefaultFeatures)'=='1' Or '$(CanaryVcpkgManifestNoDefaultFeatures)'=='ON' Or '$(CanaryVcpkgManifestNoDefaultFeatures)'=='TRUE' Or '$(CanaryVcpkgManifestNoDefaultFeatures)'=='YES'">--x-no-default-features + <_CanaryVcpkgOverlayPortOptions>@(_CanaryVcpkgOverlayPort->'"--overlay-ports=%(Identity)"', ' ') + <_CanaryVcpkgOverlayTripletOptions>@(_CanaryVcpkgOverlayTriplet->'"--overlay-triplets=%(Identity)"', ' ') + <_CanaryVcpkgInstallOptions>@(_CanaryVcpkgInstallOption, ' ') + $(_CanaryVcpkgFeatureFlagOptions) $(_CanaryVcpkgManifestFeatureOptions) $(_CanaryVcpkgNoDefaultFeatureOptions) $(_CanaryVcpkgOverlayPortOptions) $(_CanaryVcpkgOverlayTripletOptions) $(_CanaryVcpkgInstallOptions) "--x-buildtrees-root=$(MSBuildProjectDirectory)\.vcpkg-buildtrees\$(Configuration)-$(Platform)" "--x-packages-root=$(MSBuildProjectDirectory)\.vcpkg-packages\$(Configuration)-$(Platform)" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vc18/otclient.vcxproj b/vc18/otclient.vcxproj index 9e8be7fc3..cb067487c 100644 --- a/vc18/otclient.vcxproj +++ b/vc18/otclient.vcxproj @@ -71,6 +71,12 @@ true + + $(VCPKG_ROOT) + $(MSBuildThisFileDirectory)..\vcpkg + $(MSBuildThisFileDirectory)..\..\..\vcpkg + + @@ -168,6 +174,8 @@ x64-windows-static $(MSBuildProjectDirectory)\..\vcpkg_installed\msbuild-x64-debug + $(PREPROCESSOR_DEFS);_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) @@ -750,11 +758,11 @@ - $(VcpkgInstalledDir)\$(VcpkgTriplet)\tools\protobuf\protoc.exe + $(VcpkgInstalledDir)\$(VcpkgHostTriplet)\tools\protobuf\protoc.exe $(SourcePath)protobuf - $(VcpkgInstalledDir)\$(VcpkgTriplet)\tools\protobuf\protoc.exe + $(VcpkgInstalledDir)\$(VcpkgHostTriplet)\tools\protobuf\protoc.exe $(SourcePath)protobuf @@ -776,5 +784,6 @@ +