From fd52d8e8df2e8e23f7c308175a7151290f086458 Mon Sep 17 00:00:00 2001 From: Alexander Harkness Date: Thu, 6 Aug 2020 16:13:47 +0000 Subject: Add documentation for @tigerw's new CMake flags (#4814) * Add additional compilation options to CMakeLists.txt * Add new CMake options to COMPILING file * Add comment about CMake version requirements --- COMPILING.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'COMPILING.md') diff --git a/COMPILING.md b/COMPILING.md index e30ec1e3b..a9ebaf5d9 100644 --- a/COMPILING.md +++ b/COMPILING.md @@ -256,6 +256,19 @@ Forces the build to use 32 bit builds on *nix systems. Define as ON to enable. D ###### NO_NATIVE_OPTIMIZATION Disables optimizations for the build host. This is important when building on a different machine from the one you will run Cuberite on as the build machine may support instructions the final machine does not. This flag only has any effect on linux. Define as ON to enable. Define as OFF to disable. +###### DISABLE_SYSTEM_LUA +Disables use of the system lua, uses a compiled version instead. Useful if compiling on a system that doesn't already have lua installed. This option is incompatible with cross-compilation. + +###### UNITY_BUILDS +Controls use of unity builds, an optimisation that improves compile times at the expense of system compatibility and error message utility. Some systems may need to have this disabled in order to compile properly. Unity builds are only supported on CMake versions >= 3.16, if you have an old version unity builds will always be disabled and this flag has no effect. + +###### PRECOMPILE_HEADERS +Controls use of precompiled headers, an optimisation that improves compile times at the expense of system compatibility. Some systems may need to have this disabled in order to compile properly. Precompiled headers are only supported on CMake versions >= 3.16, if you have an old version precompiled headers will always be disabled and this flag has no effect. + +###### WHOLE_PROGRAM_OPTIMISATION +Controls use of link time optimisation (LTO), which slightly improves the generated binary file at the expense of compilation speed and system compatibility. Some systems may need to have this disabled in order to compile properly. + + [1]: https://www.visualstudio.com/downloads/ [2]: https://cmake.org/download/ [3]: https://git-for-windows.github.io/ -- cgit v1.2.3