mirror of https://github.com/OpenVPN/openvpn-gui
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
143 lines
3.6 KiB
143 lines
3.6 KiB
How to build with MSVC |
|
====================== |
|
|
|
This is the recommended way of building openvpn-gui on Windows, which is also used when doing OpenVPN Windows releases. |
|
|
|
Prerequisites |
|
------------- |
|
|
|
- Visual Studio 2022 (see below for details) |
|
- CMake |
|
- vcpkg (add the environment variable ``VCPKG_ROOT`` which points to vcpkg installation) |
|
|
|
Visual Studio Components |
|
------------------------ |
|
|
|
Having the Build Tools is enough, you do not need the actual IDE. |
|
In addition to the Microsoft.VisualStudio.Workload.VCTools workload, |
|
you might also need the following additional components dependending |
|
on which architectures you build for: |
|
|
|
* Microsoft.VisualStudio.Component.VC.ATL.Spectre |
|
* Microsoft.VisualStudio.Component.VC.ATLMFC.Spectre |
|
* Microsoft.VisualStudio.Component.UWP.VC.ARM64 |
|
* Microsoft.VisualStudio.Component.VC.Tools.ARM64 |
|
* Microsoft.VisualStudio.Component.VC.ATL.ARM64.Spectre |
|
* Microsoft.VisualStudio.Component.VC.MFC.ARM64.Spectre |
|
* Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre |
|
* Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre |
|
|
|
Build steps |
|
----------- |
|
|
|
Run inside MSVC command prompt: |
|
|
|
.. code-block:: |
|
|
|
c:\Temp\openvpn-gui>cmake -S . --preset x64 |
|
c:\Temp\openvpn-gui>cmake --build --preset x64-release |
|
|
|
To see all presets, run: |
|
|
|
.. code-block:: |
|
|
|
C:\Users\lev\Projects\openvpn-gui>cmake -S c:\Users\lev\Projects\openvpn-gui --list-presets |
|
Available configure presets: |
|
"x64" |
|
"arm64" |
|
"x86" |
|
"x64-ovpn3" |
|
"arm64-ovpn3" |
|
"x86-ovpn3" |
|
|
|
You could also open CMake project from MSVC IDE and build from there. |
|
|
|
How to build using Cygwin |
|
========================= |
|
|
|
Cygwin provides ports of many GNU/Linux tools and a POSIX API layer. This is |
|
the most complete way to get the GNU/Linux terminal feel under Windows. |
|
Cygwin has a setup that helps you install all the tools you need. |
|
|
|
This document describes how to build openvpn-gui using Cygwin. It cross-compiles |
|
a native Windows executable, using the MinGW-w64 compilers that are available |
|
as packages in the Cygwin repository. |
|
|
|
|
|
Required packages |
|
----------------- |
|
|
|
To build openvpn-gui you need to have these packages installed, including |
|
their dependencies. You can install these packages using the standard |
|
``setup.exe`` of Cygwin. |
|
|
|
- autoconf |
|
- automake |
|
- pkg-config |
|
- make |
|
- mingw64-x86_64-gcc-core |
|
|
|
|
|
Build |
|
----- |
|
|
|
To build use these commands: |
|
|
|
.. code-block:: bash |
|
|
|
autoreconf -iv |
|
./configure --host=x86_64-w64-mingw32 |
|
make |
|
|
|
|
|
32-bit or 64-bit |
|
---------------- |
|
|
|
The above describes how to build the 64-bit version of openvpn-gui. If you |
|
want to build the 32-bit version, simply replace ``x86_64`` with ``i686``. |
|
|
|
Both 32-bit and 64-bit version of Cygwin can build the 32-bit and 64-bit |
|
version of ``openvpn-gui.exe``. Just install the packages you need and use |
|
the right ``--host`` option. |
|
|
|
|
|
How to build using MSYS2 |
|
======================== |
|
|
|
One-time preperation |
|
-------------------- |
|
|
|
Install MSYS2. Instructions and prerequisites can be found on the official website: https://msys2.github.io/ |
|
|
|
Once installed use the ``mingw64.exe`` provided by MSYS2. |
|
|
|
Update the base MSYS2 system until no further updates are available using: |
|
|
|
.. code-block:: bash |
|
|
|
pacman -Syu |
|
|
|
You may have to restart your MINGW64 prompt between those updates. |
|
|
|
Now install the required development packages: |
|
|
|
.. code-block:: bash |
|
|
|
pacman -S base-devel mingw-w64-x86_64-{toolchain} |
|
|
|
Build |
|
----- |
|
|
|
You can build using these commands: |
|
|
|
.. code-block:: bash |
|
|
|
autoreconf -iv |
|
./configure |
|
make |
|
|
|
32-bit or 64-bit |
|
---------------- |
|
|
|
The above describes how to build the 64-bit version of openvpn-gui. |
|
If you want to build the 32-bit version, use the ``mingw32.exe`` and in the package names simply replace ``x86_64`` with ``i686``.
|
|
|