Jonathan G Rennison
483ed2f468
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/ci-build.yml
# .github/workflows/commit-checker.yml
# src/openttd.cpp
4 years ago
Patric Stout
e0b953b804
Fix: [Emscripten] compile with exceptions enabled, as our AIs depend on it
...
Also parts of the saveload code does, and some other places. This
does slow down builds, but for most computers this will not be
measurable. At least, the ones I had access to I could not find
a difference in FPS, mainly as that is heavily limited by the Hz
of the screens of the computer.
Either way, it is better to have a full functional game than a
fast one in my opinion
4 years ago
Jonathan G Rennison
8b94d92158
CMake: Suppress warning messages when Fcitx is not found
4 years ago
Patric Stout
d15dc9f40f
Add: support for emscripten (play-OpenTTD-in-the-browser)
...
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>
4 years ago
frosch
5d278b62cc
Codechange: switch to C++17 on all platforms.
4 years ago
glx22
d1fa6b129c
Add: [CMake] Option to only build tools/docs
4 years ago
glx22
6fae0b83d9
Add: [CMake] targets to generate documentation
4 years ago
Jonathan G Rennison
bad2cd0677
CMake: Do not look for fctix on Apple
4 years ago
Owen Rudge
6e689e2038
Fix: FreeType is still required on macOS
4 years ago
Jonathan G Rennison
4da3cfcf56
Merge branch 'master' into jgrpp
...
# Conflicts:
# CMakeLists.txt
# src/bootstrap_gui.cpp
4 years ago
Patric Stout
ad47ebc1a8
Change: don't encourage the use of LZO
...
LZO was used before the first version we track in our version
control system, which dates back to Aug 2004. Somewhere before
that time a few savegames / scenarios exist which use LZO. No
other savegame / scenario does since then. Let's not encourage
people to install something that ancient.
There are no scenarios on BaNaNaS that require LZO.
4 years ago
glx22
a06fe8e8a7
Fix: [CMake] cross-compiling requires native tools
4 years ago
Jonathan G Rennison
d85a529f87
Merge branch 'master' into jgrpp
4 years ago
Charles Pigott
85ca1c535e
Codechange: Set CMAKE_BUILD_TYPE to default to debug if not otherwise set
4 years ago
Charles Pigott
348c231e12
Codechange: Make codestyle for CMake files consistent for 'control' statements
4 years ago
Jonathan G Rennison
5970c936a6
CMake: Use freetype on Apple
...
See: #183 , #188
4 years ago
Jonathan G Rennison
5b78090a61
Merge branch 'master' into jgrpp
...
# Conflicts:
# CMakeLists.txt
# src/saveload/town_sl.cpp
# src/screenshot.h
# src/script/api/ai/ai_date.hpp.sq
# src/script/api/ai/ai_marine.hpp.sq
# src/script/api/ai/ai_station.hpp.sq
# src/script/api/game/game_date.hpp.sq
# src/script/api/game/game_marine.hpp.sq
# src/script/api/game/game_station.hpp.sq
# src/script/api/game/game_window.hpp.sq
# src/script/api/script_window.hpp
# src/script/api/template/template_window.hpp.sq
# src/signal.cpp
# src/statusbar_gui.cpp
# src/toolbar_gui.cpp
# src/viewport.cpp
# src/viewport_func.h
4 years ago
glx
8794c61f25
Change: rewrote generate_widget in CMake
4 years ago
Jonathan G Rennison
68f216cad6
CMake: Fix compilation on CMake < 3.12
...
Bump minimum version to 3.6
4 years ago
Jonathan G Rennison
7467051331
Merge branch 'master' into jgrpp
...
# Conflicts:
# .gitignore
# src/network/network_server.cpp
# src/vehicle_gui.cpp
4 years ago
Michael Lutz
00eccbe298
Add: [CMake] Source group definitions to create file filters in generated project files (like the old MSVC projects).
4 years ago
Jonathan G Rennison
737ced9f50
Merge branch 'master' into jgrpp
4 years ago
Jonathan G Rennison
e39a1d2b6e
CMake: Copy bin/ subdirs to build directory
4 years ago
glx22
97592c4093
Add: [CMake] Allow renaming of openttd binary
4 years ago
Jonathan G Rennison
903b0fdd39
CMake: Windows: Add usp10 lib
4 years ago
Jonathan G Rennison
1304d7c8b6
CMake: Add DbgHelp define for MinGW
4 years ago
Jonathan G Rennison
3adeff1883
Merge branch 'master' into jgrpp
...
# Conflicts:
# CMakeLists.txt
# cmake/CompileFlags.cmake
# src/bridge_gui.cpp
# src/saveload/afterload.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/saveload/town_sl.cpp
# src/screenshot.cpp
# src/screenshot.h
# src/toolbar_gui.cpp
# src/town.h
# src/town_cmd.cpp
4 years ago
Jonathan G Rennison
5075d8cdca
CMake: Fix builtins compiler condition
4 years ago
glx22
909c9656ce
Fix: [CMake] cross-compiling requires native tools
...
(cherry picked from commit fdaf0d0b2f82701c8ea1e9a1125415351cf49e57)
4 years ago
Dan Villiom Podlaski Christiansen
7fd7b51593
Fix: don't search for SDL, etc., on macOS
4 years ago
Dan Villiom Podlaski Christiansen
c593893b56
Fix: set Mac deployment target
...
This silences an awful lot of warnings.
4 years ago
Dan Villiom Podlaski Christiansen
04c050f93e
Fix: don't use ICU on macOS
4 years ago
Jonathan G Rennison
33c2150c49
CMake: Add demangle and BFD to MinGW
4 years ago
Jonathan G Rennison
10aab3e3a3
CMake: Add BFD, support new BFD API
4 years ago
Jonathan G Rennison
73edc5aaba
CMake: Add ucontext on Mac/OSX
4 years ago
Jonathan G Rennison
9470ad050b
CMake: Fix configure defines
4 years ago
Jonathan G Rennison
0fb31fd693
CMake: Add fcitx
4 years ago
Jonathan G Rennison
e05fa5c1c3
CMake: Add builtins
4 years ago
Jonathan G Rennison
39eaa94435
CMake: Add ucontext
4 years ago
Jonathan G Rennison
6b7668dc83
CMake: Add sigaction, sigaltstack, self dbg
4 years ago
Jonathan G Rennison
a8c3ceb3c9
CMake: Add libdl and demangle support
4 years ago
Dan Church
506598a80a
Fix: [CMake] Fix install paths using GNUInstallDirs
4 years ago
Frédéric Simonis
fb7723a9d7
Add: [CMake] Always export compile commands ( #8199 )
4 years ago
Frédéric Simonis
90e849198f
Fix: [CMake] Error when SDL2 provides SDL2Config
4 years ago
Patric Stout
b7643b1d36
Add: create bundles via CPack
...
CPack works closely together with CMake to do the right thing in
terms of bundling (called 'package'). This generates all the
packaging we need, and some more.
4 years ago
Patric Stout
56d54cf60e
Add: introduce CMake for project management
...
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.
4 years ago