MSVC builds
For up-do-date instructions for your version of openvpn also check the file README.cmake.md
in the openvpn source code.
The following tools are expected to be present on the system, you can install them with a package manager of your choice (e.g. chocolatey, winget) or manually:
- CMake (>= 3.21)
- Git
- Python (3.x), plus the Python module
docutils
- Visual Studion 17 (2022), C/C++ Enviroment
For example, to prepare the required tools with chocolatey, you can use the following commands (Powershell):
# Installing Chocolatey Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) & choco.exe install -y git --params "/GitAndUnixToolsOnPath" & choco.exe install -y python & python.exe -m ensurepip & python.exe -m pip install --upgrade pip & python.exe -m pip install docutils & choco.exe install -y cmake --installargs 'ADD_CMAKE_TO_PATH=System' & choco.exe install -y "visualstudio2022buildtools" & choco.exe install -y "visualstudio2022-workload-vctools" --params "--add Microsoft.VisualStudio.Component.UWP.VC.ARM64 --add Microsoft.VisualStudio.Component.VC.Tools.ARM64 --add Microsoft.VisualStudio.Component.VC.ATL.Spectre --add Microsoft.VisualStudio.Component.VC.ATLMFC.Spectre --add Microsoft.VisualStudio.Component.VC.ATL.ARM64.Spectre --add Microsoft.VisualStudio.Component.VC.MFC.ARM64.Spectre --add Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre --add Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre --quiet" & choco.exe install -y windows-sdk-10-version-2004-windbg
One or more restarts of Powershell might be required to pick up new additions
to PATH
between steps. A Windows restart is probably required after
installing Visual Studio before being able to use it.
You can find the exact commands we use to set up the community build machines
at https://github.com/OpenVPN/openvpn-buildbot/blob/master/jenkins/windows-server/msibuild.pkr.hcl
To do a default build, assuming you are in a MSVC 17 2022 environment:
mkdir C:\OpenVPN cd C:\OpenVPN git clone https://github.com/microsoft/vcpkg.git git clone https://github.com/OpenVPN/openvpn.git set VCPKG_ROOT=C:\OpenVPN\vcpkg cd openvpn cmake --preset win-amd64-release cmake --build --preset win-amd64-release ctest --preset win-amd64-release
When using the presets, the build directory is
out/build/<preset-name>/
, you can find the output files there.
No install support is provided directly in OpenVPN build, take a look
at https://github.com/OpenVPN/openvpn-build.git instead.