From 55cfc0b9541ff25fac31059ffcf7eea06fd6c0ec Mon Sep 17 00:00:00 2001 From: Lev Stipakov Date: Thu, 5 May 2022 15:42:05 +0300 Subject: [PATCH] vcpkg: switch to manifest 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 Acked-by: Gert Doering 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 --- .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 diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index dbb05739d..fb53fb8bd 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -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 diff --git a/.gitignore b/.gitignore index 178076ede..7335154ff 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/src/openvpn/openvpn.vcxproj b/src/openvpn/openvpn.vcxproj index 05c63b035..7f09249bd 100644 --- a/src/openvpn/openvpn.vcxproj +++ b/src/openvpn/openvpn.vcxproj @@ -124,26 +124,35 @@ true arm64-windows-ovpn + --overlay-triplets=$(SolutionDir)contrib\vcpkg-triplets --overlay-ports=$(SolutionDir)contrib\vcpkg-ports true arm64-windows-ovpn + --overlay-triplets=$(SolutionDir)contrib\vcpkg-triplets --overlay-ports=$(SolutionDir)contrib\vcpkg-ports true x86-windows-ovpn + --overlay-triplets=$(SolutionDir)contrib\vcpkg-triplets --overlay-ports=$(SolutionDir)contrib\vcpkg-ports true x86-windows-ovpn + --overlay-triplets=$(SolutionDir)contrib\vcpkg-triplets --overlay-ports=$(SolutionDir)contrib\vcpkg-ports true x64-windows-ovpn + --overlay-triplets=$(SolutionDir)contrib\vcpkg-triplets --overlay-ports=$(SolutionDir)contrib\vcpkg-ports true x64-windows-ovpn + --overlay-triplets=$(SolutionDir)contrib\vcpkg-triplets --overlay-ports=$(SolutionDir)contrib\vcpkg-ports + + + true diff --git a/src/openvpn/vcpkg.json b/src/openvpn/vcpkg.json new file mode 100644 index 000000000..6537fdd6c --- /dev/null +++ b/src/openvpn/vcpkg.json @@ -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" + } + ] +} -- 2.47.2