Browse Source

README: Update CMake option documentation

pull/108/head
Daniel Scharrer 7 years ago
parent
commit
3d4fd8de4e
  1. 51
      README.md

51
README.md

@ -41,31 +41,40 @@ To install the binaries system-wide, run as root:
# make install
Build options:
| Option | Default | Description |
|:------------------------ |:---------:|:----------- |
| `USE_ARC4` | `ON` | Build ARC4 decryption support.
| `USE_LZMA` | `ON` | Use `liblzma`.
| `WITH_CONV` | *not set* | The charset conversion library to use. Valid values are `iconv`, `win32` and `builtin`^1. If not set, a library appropriate for the target platform will be chosen.
| `CMAKE_BUILD_TYPE` | `Release` | Set to `Debug` to enable debug output.
| `DEBUG` | `OFF`^2 | Enable debug output and runtime checks.
| `DEBUG_EXTRA` | `OFF` | Expensive debug options.
| `SET_WARNING_FLAGS` | `ON` | Adjust compiler warning flags. This should not affect the produced binaries but is useful to catch potential problems.
| `SET_OPTIMIZATION_FLAGS` | `ON` | Adjust compiler optimization flags. For non-debug builds the only thing this does is instruct the linker to only link against libraries that are actually needed.
| `CXX_STD_VERSION` | `2017` | Maximum C++ standard version to enable.
| `USE_DYNAMIC_UTIMENSAT` | `OFF` | Dynamically load utimensat(2) if not available at compile time
| `USE_STATIC_LIBS` | `OFF`^3 | Turns on static linking for all libraries, including `-static-libgcc` and `-static-libstdc++`. You can also use the individual options below:
| `LZMA_USE_STATIC_LIBS` | `OFF`^4 | Statically link `liblzma`.
| `Boost_USE_STATIC_LIBS` | `OFF`^4 | Statically link Boost. See also `FindBoost.cmake`
| `ZLIB_USE_STATIC_LIBS` | `OFF`^4 | Statically link `libz`. (used via Boost)
| `BZip2_USE_STATIC_LIBS` | `OFF`^4 | Statically link `libbz2`. (used via Boost)
| `iconv_USE_STATIC_LIBS` | `OFF`^4 | Statically link `libiconv`.
| `STRICT_USE` | `OFF` | Abort if there are missing optional dependencies
The default build settings are tuned for users - if you plan to make changes to Arx Libertatis you should append the `-DDEVELOPER=1` option to the `cmake` command to enable debug output and fast incremental builds.
### Build options:
| Option | Default | Description |
|:------------------------- |:---------:|:----------- |
| `USE_ARC4` | `ON` | Build ARC4 decryption support.
| `USE_LZMA` | `ON` | Use `liblzma`.
| `WITH_CONV` | *not set* | The charset conversion library to use. Valid values are `iconv`, `win32` and `builtin`¹. If not set, a library appropriate for the target platform will be chosen.
| `CMAKE_BUILD_TYPE` | `Release` | Set to `Debug` to enable debug output.
| `DEBUG` | `OFF`² | Enable debug output and runtime checks.
| `DEBUG_EXTRA` | `OFF` | Expensive debug options.
| `SET_WARNING_FLAGS` | `ON` | Adjust compiler warning flags. This should not affect the produced binaries but is useful to catch potential problems.
| `SET_NOISY_WARNING_FLAGS` | `OFF` | Enable warnings with false positives many cases that still need to be fixed.
| `SET_OPTIMIZATION_FLAGS` | `ON` | Adjust compiler optimization flags.
| `CXX_STD_VERSION` | `2017` | Maximum C++ standard version to enable.
| `USE_DYNAMIC_UTIMENSAT` | `OFF` | Dynamically load utimensat(2) if not available at compile time.
| `USE_STATIC_LIBS` | `OFF`³ | Turns on static linking for all libraries, including `-static-libgcc` and `-static-libstdc++`. You can also use the individual options below:
| `LZMA_USE_STATIC_LIBS` | `OFF`⁴ | Statically link `liblzma`.
| `Boost_USE_STATIC_LIBS` | `OFF`⁴ | Statically link Boost. See also `FindBoost.cmake`.
| `ZLIB_USE_STATIC_LIBS` | `OFF`⁴ | Statically link `libz`. (used via Boost)
| `BZip2_USE_STATIC_LIBS` | `OFF`⁴ | Statically link `libbz2`. (used via Boost)
| `iconv_USE_STATIC_LIBS` | `OFF`⁴ | Statically link `libiconv`.
| `STRICT_USE` | `OFF` | Abort if there are missing optional dependencies.
| `DEVELOPER` | `OFF` | Enable build options suitable for developers⁵.
| `FASTLINK` | `OFF`⁶ | Optimize for link speed.
| `USE_LTO` | `ON`² | Use link-time code generation.
1. The builtin charset conversion only supports Windows-1252 and UTF-16LE. This is normally enough for filenames, but custom message strings (which can be included in filenames) may use arbitrary encodings.
2. Enabled automatically if `CMAKE_BUILD_TYPE` is set to `Debug`.
3. Under Windows, the default is `ON`.
4. Default is `ON` if `USE_STATIC_LIBS` is enabled.
5. Currently this and enables `DEBUG` and `FASTLINK` for faster incremental builds and improved debug output, unless those options have been explicitly specified by the user.
6. Enabled automatically if `DEVELOPER` is enabled.
7. Disabled automatically if `SET_OPTIMIZATION_FLAGS` is disabled or `FASTLINK` is enabled.
Install options:

Loading…
Cancel
Save