]> git.ipfire.org Git - thirdparty/openvpn.git/commit
msvc: standalone building
authorLev Stipakov <lev@openvpn.net>
Fri, 14 May 2021 04:57:04 +0000 (07:57 +0300)
committerGert Doering <gert@greenie.muc.de>
Tue, 15 Jun 2021 08:52:51 +0000 (10:52 +0200)
commit56f775fe9dacab7804109e305d652057b0c7fd3c
treeee8e48e1f2a4c6169d89755e74634b55e66c4657
parent05271322e7b5f453fe9d85310e500d3460ac8ca4
msvc: standalone building

This finally enables standalone MSVC building, without
dependency on openvpn-build/msvc. This makes MSVC build
process much simpler.

Dependencies are managed by vcpkg. To install dependencies, run:

  > vcpkg --overlay-ports=<openvpn>\contrib\vcpkg-ports
          --overlay-triplets=<openvpn>\contrib\vcpkg-triplets install
          lz4:x64-windows-ovpn lzo:x64-windows-ovpn
openssl-windows:x64-windows-ovpn pkcs11-helper:x64-windows-ovpn
tap-windows6:x64-windows-ovpn

To build for other arch, use x86-windows-ovpn or arm64-windows-ovpn.
Custom triplets are defines so that lz4 is linked statically and
other libraries dynamically.

Since we don't have CMake support yet, we cannot use vcpkg manifest
mode, since it doesn't work with overlay ports
(https://github.com/microsoft/vcpkg/issues/12289),
therefore this one-time manual dependency installation is required.

While on it, bump msvc-generate project target version to VS2019 and
cleanup leftovers from compat.vcxproj.filters.

Signed-off-by: Lev Stipakov <lev@openvpn.net>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <20210514045704.686-1-lstipakov@gmail.com>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg22389.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
build/msvc/msvc-generate/msvc-generate.vcxproj
contrib/vcpkg-triplets/arm64-windows-ovpn.cmake [new file with mode: 0644]
contrib/vcpkg-triplets/x64-windows-ovpn.cmake [new file with mode: 0644]
contrib/vcpkg-triplets/x86-windows-ovpn.cmake [new file with mode: 0644]
src/compat/compat.vcxproj
src/compat/compat.vcxproj.filters
src/openvpn/openvpn.vcxproj
src/openvpnmsica/openvpnmsica.vcxproj
src/openvpnserv/openvpnserv.vcxproj
src/tapctl/tapctl.vcxproj