summaryrefslogtreecommitdiff
path: root/cmake/Options.cmake
AgeCommit message (Collapse)Author
2021-02-05Feature: [Actions / CMake] support for generic linux builds (#8641)Patric Stout
These bundles can be opened on any "modern" Linux machine with a driver that SDL2 supports. Machines needs at least glibc 2.15, which was released 10 years ago. It is build with CentOS 7 as base, and only assumes the following libraries are available on the system: - libc - libdl - libgcc_s - libpthread - librt - libstdc++ All other libraries the game depends on are bundled together with the game, so users don't need any library installed to use this bundle. The downside of course is that this increases the binary size a bit: 30 MiB of libraries are in this bundle. RPATH is used to make ld-linux find the folder libraries are stored in; however, system libraries are always used before these, in the assumption libraries on the user system are more up-to-date. Using -DOPTION_PACKAGE_DEPENDENCIES=ON switches on packaging of libraries in the "lib" folder. This requires CMake 3.16 to be installed; otherwise it will fail.
2020-12-15Add: support for emscripten (play-OpenTTD-in-the-browser)Patric Stout
Emscripten compiles to WASM, which can be loaded via HTML / JavaScript. This allows you to play OpenTTD inside a browser. Co-authored-by: milek7 <me@milek7.pl>
2020-12-13Add: [CMake] Option to only build tools/docsglx22
2020-12-04Fix: [CMake] cross-compiling requires native toolsglx22
2020-09-25Codechange: Make codestyle for CMake files consistent for 'control' statementsCharles Pigott
2020-07-02Add: [CMake] Allow renaming of openttd binaryglx22
2020-06-30Add: add option for forcing coloured compiler output (useful for Ninja)Dan Villiom Podlaski Christiansen
2020-06-18Fix: [CMake] Fix install paths using GNUInstallDirsDan Church
2020-06-08Fix: CMake option values should be ON/OFFglx22
2020-06-08Fix: Generate windows installer only for stable releasesglx22
2020-06-05Add: introduce CMake for project managementPatric Stout
CMake works on all our supported platforms, like MSVC, Mingw, GCC, Clang, and many more. It allows for a single way of doing things, so no longer we need shell scripts and vbs scripts to work on all our supported platforms. Additionally, CMake allows to generate project files for like MSVC, KDevelop, etc. This heavily reduces the lines of code we need to support multiple platforms from a project perspective. Addtiionally, this heavily improves our detection of libraries, etc.