[Openvpn-devel,v3,release/2.5] vcpkg: switch to manifest
Commit Message
From: Lev Stipakov <lev@openvpn.net>
Add vcpkg manifest file which lists
dependencies and enable manifest usage in
project file.
This simplifies build process by eliminating
separate "vcpkg install" step to install dependencies.
Signed-off-by: Lev Stipakov <lev@openvpn.net>
---
v3: fix GitHub Actions cache
v2: add missing lz4 dependency
.github/workflows/build.yaml | 16 +++++++---------
.gitignore | 1 +
src/openvpn/openvpn.vcxproj | 9 +++++++++
src/openvpn/vcpkg.json | 19 +++++++++++++++++++
4 files changed, 36 insertions(+), 9 deletions(-)
create mode 100644 src/openvpn/vcpkg.json
Comments
Acked-by: Gert Doering <gert@greenie.muc.de>
Not sure what this all does, but github likes it and builds nice things.
I should point out that vcpkg.json will not be contained in the
"make dist" tarball (not mentioned in "Makefile.am"), so this is only
benefiting people that build from git today.
Your patch has been applied to the release/2.5 branch.
commit 55cfc0b9541ff25fac31059ffcf7eea06fd6c0ec
Author: Lev Stipakov
Date: Thu May 5 15:42:05 2022 +0300
vcpkg: switch to manifest
Signed-off-by: Lev Stipakov <lev@openvpn.net>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <20220505124205.435-1-lstipakov@gmail.com>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg24286.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
--
kind regards,
Gert Doering
@@ -268,19 +268,17 @@ jobs:
- name: Install rst2html
run: python -m pip install --upgrade pip rst2html
- - name: Restore artifacts, or run vcpkg, build and cache artifacts
- uses: lukka/run-vcpkg@v7.4
+ - name: Restore artifacts, or setup vcpkg (do not install any package)
+ uses: lukka/run-vcpkg@v10
with:
- vcpkgGitCommitId: 'a69b65229b3956b7f45abd81671b7330114bcaad'
- vcpkgArguments: 'openssl lz4 lzo pkcs11-helper tap-windows6'
- vcpkgTriplet: '${{ matrix.triplet }}-windows-ovpn'
- cleanAfterBuild: false
+ vcpkgGitCommitId: '4b766c1cd17205e1b768c4fadfd5f867c1d0510e'
+ appendedCacheKey: '${{matrix.triplet}}'
- - name: Build
+ - name: Run MSBuild consuming vcpkg.json
working-directory: ${{env.GITHUB_WORKSPACE}}
run: |
- vcpkg integrate install
- msbuild /m /p:Configuration=${{env.BUILD_CONFIGURATION}} /p:Platform="${{ matrix.plat }}" .
+ vcpkg integrate install
+ msbuild /m /p:Configuration=${{env.BUILD_CONFIGURATION}} /p:Platform="${{ matrix.plat }}" .
- name: Archive artifacts
uses: actions/upload-artifact@v2
@@ -44,6 +44,7 @@ m4/ltoptions.m4
m4/ltsugar.m4
m4/ltversion.m4
m4/lt~obsolete.m4
+vcpkg_installed
version.sh
msvc-env-local.bat
@@ -124,26 +124,35 @@
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<VcpkgEnabled>true</VcpkgEnabled>
<VcpkgTriplet>arm64-windows-ovpn</VcpkgTriplet>
+ <VcpkgAdditionalInstallOptions>--overlay-triplets=$(SolutionDir)contrib\vcpkg-triplets --overlay-ports=$(SolutionDir)contrib\vcpkg-ports</VcpkgAdditionalInstallOptions>
</PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<VcpkgEnabled>true</VcpkgEnabled>
<VcpkgTriplet>arm64-windows-ovpn</VcpkgTriplet>
+ <VcpkgAdditionalInstallOptions>--overlay-triplets=$(SolutionDir)contrib\vcpkg-triplets --overlay-ports=$(SolutionDir)contrib\vcpkg-ports</VcpkgAdditionalInstallOptions>
</PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<VcpkgEnabled>true</VcpkgEnabled>
<VcpkgTriplet>x86-windows-ovpn</VcpkgTriplet>
+ <VcpkgAdditionalInstallOptions>--overlay-triplets=$(SolutionDir)contrib\vcpkg-triplets --overlay-ports=$(SolutionDir)contrib\vcpkg-ports</VcpkgAdditionalInstallOptions>
</PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<VcpkgEnabled>true</VcpkgEnabled>
<VcpkgTriplet>x86-windows-ovpn</VcpkgTriplet>
+ <VcpkgAdditionalInstallOptions>--overlay-triplets=$(SolutionDir)contrib\vcpkg-triplets --overlay-ports=$(SolutionDir)contrib\vcpkg-ports</VcpkgAdditionalInstallOptions>
</PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<VcpkgEnabled>true</VcpkgEnabled>
<VcpkgTriplet>x64-windows-ovpn</VcpkgTriplet>
+ <VcpkgAdditionalInstallOptions>--overlay-triplets=$(SolutionDir)contrib\vcpkg-triplets --overlay-ports=$(SolutionDir)contrib\vcpkg-ports</VcpkgAdditionalInstallOptions>
</PropertyGroup>
<PropertyGroup Label="Vcpkg" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<VcpkgEnabled>true</VcpkgEnabled>
<VcpkgTriplet>x64-windows-ovpn</VcpkgTriplet>
+ <VcpkgAdditionalInstallOptions>--overlay-triplets=$(SolutionDir)contrib\vcpkg-triplets --overlay-ports=$(SolutionDir)contrib\vcpkg-ports</VcpkgAdditionalInstallOptions>
+ </PropertyGroup>
+ <PropertyGroup Label="Vcpkg">
+ <VcpkgEnableManifest>true</VcpkgEnableManifest>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
new file mode 100644
@@ -0,0 +1,19 @@
+{
+ "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json",
+ "name": "openvpn",
+ "version": "2.5",
+ "dependencies": [
+ "openssl",
+ "tap-windows6",
+ "lzo",
+ "lz4",
+ "pkcs11-helper"
+ ],
+ "builtin-baseline": "4b766c1cd17205e1b768c4fadfd5f867c1d0510e",
+ "overrides": [
+ {
+ "name": "openssl",
+ "version-string": "1.1.1n"
+ }
+ ]
+}