]> 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 09:01:52 +0000 (11:01 +0200)
commit206d9665a80de997b0b74707ec880879617cba9a
treee9a8828b4f49fc937673454fde82f8c7ab44aab6
parenteaf447d708bde55a6f712e7ddb16a775a451959b
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>
(cherry picked from commit 56f775fe9dacab7804109e305d652057b0c7fd3c)
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