1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2024-09-13 07:13:00 +03:00

Document additional CMake options

Some CMake options are added by myself (#1047 #1079). So I should
describe in document.
This commit is contained in:
Koichiro IWAO 2020-03-18 19:29:56 +09:00
parent a6652fead2
commit 78b0684dd4
No known key found for this signature in database
GPG Key ID: 9F72CDBC01BF10EB

View File

@ -5,6 +5,7 @@ This document describes how to build SoftEtherVPN for UNIX based Operating syste
* [Install Requirements on Debian/Ubuntu](#install-requirements-on-debianubuntu)
* [Install Requirements on macOS](#install-requirements-on-macos)
- [Build from source code and install](#build-from-source-code-and-install)
- [Additional Build Options](#additional-build-options)
- [How to Run SoftEther](#how-to-run-softether)
* [Start/Stop SoftEther VPN Server](#startstop-softether-vpn-server)
* [Start/Stop SoftEther VPN Bridge](#startstop-softether-vpn-bridge)
@ -63,7 +64,7 @@ This will compile and install SoftEther VPN Server, Bridge and Client binaries u
If any error occurs, please check the above requirements.
# Build on musl-based linux
# Build on musl-based linux
To build the programs from the source code when using musl as libc, run the following commands:
@ -79,6 +80,38 @@ make -C tmp install
Building without USE_MUSL environment variable set compiles, but produced executables exhibit bad run-time behaviour.
# Additional Build Options
There are some additional build options useful if you're a distro package maintainer and creating a package of SoftEther VPN. It is recommended that you only specify these options when you understand what happens.
## Specify log, config, PID directories
By default, SoftEther VPN writes out all files such as logs, config files, PID files under the same directory as `vpnserver`, `vpnbridge`, `vpnclient` executables. This behaviour is suitable when [using SoftEther without installation](#using-softether-without-installation) however not appropriate using with installation.
Usually PID files are to put in `/var/run` or `/run`. Logs are `/var/log`. Other variable state information files including config files are `/var/lib` or `/var/db`.
These directories can be changed at compile-time by specifying via CMake variables.
* `SE_PIDDIR` - PID directory
* `SE_LOGDIR` - root log directory
* `SE_DBDIR` - config files and variable state directory
To specify directories, perform `./configure` like below.
```bash
CMAKE_FLAGS="-DSE_PIDDIR=/run/softether -DSE_LOGDIR=/var/log/softether -DSE_DBDIR=/var/lib/softether" ./configure
```
Please note that these directories are not created automatically after installation. Make sure to create these directories before starting SoftEther VPN Server, Bridge or Client.
## Build without [cpu_features](https://github.com/google/cpu_features)
SoftEther VPN uses cpu_features library to retrieve CPU features such as available processor instructions. However, cpu_features is not available on some architectures. Whether to build with cpu_features is auto detected but autodetection is not so smart.
If you want to build without cpu_features explicitly, perform `./configure` like below.
```bash
CMAKE_FLAGS="-DSKIP_CPU_FEATURES" ./configure
```
# How to Run SoftEther
## Start/Stop SoftEther VPN Server