glx22
349dc568ea
Fix: [CMake] Remove timestamps from regression output
2021-03-04 16:22:58 +01:00
Jonathan G Rennison
f4e29071be
Merge tag '1.11.0-beta2' into jgrpp
...
# Conflicts:
# .github/workflows/ci-build.yml
# .github/workflows/release.yml
# CMakeLists.txt
# src/blitter/32bpp_optimized.cpp
# src/debug.cpp
# src/gfx.cpp
# src/gfx_func.h
# src/lang/czech.txt
# src/lang/english.txt
# src/lang/italian.txt
# src/lang/swedish.txt
# src/lang/ukrainian.txt
# src/network/network_server.cpp
# src/os/windows/crashlog_win.cpp
# src/os/windows/win32.cpp
# src/pathfinder/follow_track.hpp
# src/screenshot.cpp
# src/settings_type.h
# src/spritecache.cpp
# src/vehicle_gui.cpp
# src/video/sdl2_v.cpp
# src/video/video_driver.cpp
# src/video/video_driver.hpp
# src/video/win32_v.cpp
2021-03-02 11:59:03 +00:00
Jonathan G Rennison
b9332ee62c
Zstd: Change package status to recommended
2021-03-01 23:08:23 +00:00
dP
b284d34277
Add: Support Zstandard(zstd) savegame compression
...
(cherry picked from commit 6f0aeaf2c5436550c93205e704624957e9abc969)
2021-03-01 18:08:28 +00:00
glx22
b67245d71e
Fix: [CMake] CMake may use || at the end of custom commands
2021-02-22 23:17:45 +01:00
glx22
ec9d1a6b8f
Fix: [CMake] CMAKE_SOURCE_DIR may contain regex commands
2021-02-22 23:17:45 +01:00
Michael Lutz
9a069faa01
Codechange: [Win32] Try to get an OpenGL 3.2+ context if possible.
2021-02-22 22:16:07 +01:00
Jonathan G Rennison
e95216b59d
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/company_cmd.cpp
# src/core/geometry_func.cpp
# src/date.cpp
# src/genworld_gui.cpp
# src/gfx.cpp
# src/object_gui.cpp
# src/openttd.cpp
# src/settings_type.h
# src/video/allegro_v.cpp
# src/video/dedicated_v.cpp
# src/video/null_v.cpp
# src/video/sdl2_v.cpp
# src/video/sdl_v.cpp
# src/video/win32_v.cpp
2021-02-19 15:38:34 +00:00
Owen Rudge
395e015282
Change: Convert .md to .rtf for Windows/Mac packages
2021-02-08 23:23:24 +00:00
glx22
2cbfcd2327
Change: [CMake] Bump minimum version to 3.9
2021-02-07 16:21:13 +01:00
Patric Stout
9322b40df1
Fix: [CMake] our allegro drivers use v4, so skip v5 if found ( #8653 )
...
On some distros allegro v5 is called allegro-5, but on some others
it is not. So this should fix for all distros that allegro v5 is
not being picked up, and only v4 is.
2021-02-07 12:54:02 +01:00
glx22
99448eedca
Fix: [CMake] os/windows/openttd.manifest is not a generated file
2021-02-05 23:41:55 +01:00
Patric Stout
05df7996a4
Feature: [Actions / CMake] support for generic linux builds ( #8641 )
...
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.
2021-02-05 12:31:27 +01:00
Jonathan G Rennison
7154f8859d
Merge tag '1.11.0-beta1' into jgrpp
...
# Conflicts:
# src/console_cmds.cpp
# src/gfx_func.h
# src/industry.h
# src/lang/czech.txt
# src/lang/estonian.txt
# src/lang/german.txt
# src/lang/indonesian.txt
# src/lang/japanese.txt
# src/lang/norwegian_bokmal.txt
# src/lang/russian.txt
# src/lang/slovak.txt
# src/saveload/saveload.h
# src/station_gui.cpp
# src/town_gui.cpp
# src/vehicle_gui.cpp
# src/video/sdl2_v.cpp
# src/waypoint_gui.cpp
2021-02-01 18:58:36 +00:00
Jonathan G Rennison
b7ddd486cf
Merge branch 'master' into jgrpp
...
# Conflicts:
# cmake/CompileFlags.cmake
# src/aircraft_cmd.cpp
# src/blitter/32bpp_anim.cpp
# src/cargopacket.cpp
# src/cheat_gui.cpp
# src/company_cmd.cpp
# src/company_gui.cpp
# src/core/pool_func.hpp
# src/date.cpp
# src/economy.cpp
# src/error_gui.cpp
# src/ground_vehicle.cpp
# src/ground_vehicle.hpp
# src/group_gui.cpp
# src/industry_cmd.cpp
# src/lang/dutch.txt
# src/lang/french.txt
# src/lang/german.txt
# src/linkgraph/linkgraph_gui.cpp
# src/linkgraph/mcf.cpp
# src/network/network_content.cpp
# src/network/network_server.cpp
# src/network/network_udp.cpp
# src/newgrf_engine.cpp
# src/newgrf_station.cpp
# src/order_cmd.cpp
# src/order_gui.cpp
# src/pathfinder/follow_track.hpp
# src/pathfinder/yapf/yapf_common.hpp
# src/saveload/saveload.cpp
# src/settings_gui.cpp
# src/station_cmd.cpp
# src/station_kdtree.h
# src/string_func.h
# src/table/settings.ini
# src/tgp.cpp
# src/timetable_cmd.cpp
# src/timetable_gui.cpp
# src/toolbar_gui.cpp
# src/town_cmd.cpp
# src/train_cmd.cpp
# src/train_gui.cpp
# src/tree_gui.cpp
# src/tunnelbridge_cmd.cpp
# src/vehicle.cpp
# src/vehicle_gui.cpp
# src/video/sdl2_v.cpp
# src/video/sdl_v.cpp
# src/video/win32_v.cpp
# src/viewport.cpp
# src/viewport_sprite_sorter_sse4.cpp
# src/window.cpp
2021-02-01 17:07:34 +00:00
Jonathan G Rennison
6c3e5642f8
Merge branch 'master' into jgrpp
...
# Conflicts:
# cmake/CompileFlags.cmake
# src/crashlog.cpp
# src/fileio.cpp
# src/fileio_func.h
# src/fios_gui.cpp
# src/ini_load.cpp
# src/ini_type.h
# src/lang/english.txt
# src/lang/german.txt
# src/lang/korean.txt
# src/network/network_client.cpp
# src/order_base.h
# src/order_cmd.cpp
# src/os/windows/win32.cpp
# src/road_cmd.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/settings.cpp
# src/station_cmd.cpp
# src/stdafx.h
# src/table/settings.ini
# src/tree_cmd.cpp
# src/tree_gui.cpp
# src/vehicle_base.h
# src/video/cocoa/cocoa_v.mm
# src/video/cocoa/event.mm
# src/video/cocoa/wnd_quartz.mm
# src/viewport.cpp
# src/widgets/tree_widget.h
2021-01-31 01:08:35 +00:00
Jonathan G Rennison
39df1c49a1
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/fileio.cpp
# src/group_gui.cpp
# src/industry.h
# src/lang/korean.txt
# src/linkgraph/linkgraphjob.cpp
# src/linkgraph/linkgraphjob.h
# src/linkgraph/linkgraphschedule.cpp
# src/linkgraph/linkgraphschedule.h
# src/openttd.cpp
# src/saveload/saveload.cpp
# src/saveload/saveload.h
# src/town_cmd.cpp
# src/vehicle_gui.cpp
# src/vehicle_gui_base.h
2021-01-30 18:27:35 +00:00
Jonathan G Rennison
cb69611248
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/changelog.sh
# cmake/PackageDeb.cmake
# src/network/network_client.cpp
# src/settings_gui.cpp
2021-01-29 18:27:36 +00:00
Jonathan G Rennison
43980639de
Merge branch 'master' into jgrpp
...
# Conflicts:
# .gitignore
# CMakeLists.txt
# src/3rdparty/optional/optional.hpp
# src/group_cmd.cpp
# src/industry_cmd.cpp
# src/misc_gui.cpp
# src/video/sdl2_v.cpp
2021-01-29 17:45:15 +00:00
Owen Rudge
a2bd0a14e1
Feature: [Actions] ARM64 builds for Windows
2021-01-18 08:57:58 +00:00
Owen Rudge
2d9e164ec4
Fix: [Actions] Give Universal Mac packages the "universal" suffix
2021-01-18 08:57:39 +00:00
Owen Rudge
0a129bc810
Change: Label Mac builds as "macos" instead of "macosx"
2021-01-16 10:04:51 +00:00
glx22
97d554feb1
Codechange: On regression failure, output the result in a file
2021-01-09 23:48:09 +01:00
Owen Rudge
bbc96fd37c
Fix: Don't add -mno-sse4 on arm64
2021-01-08 16:58:14 +00:00
Michael Lutz
21a45168bd
Codechange: [OSX] CMake source group for OSX files.
...
This separates the OSX specific files into a proper folder when generating
Xcode project files.
2021-01-03 13:25:32 +01:00
Charles Pigott
10090d0ac6
Add: [CMake] Explicitly support txz for Arch Linux
2021-01-02 19:47:14 +00:00
Charles Pigott
3dfee979a7
Codechange: Drop libxdg-basedir dependency in favour of finding the directories ourselves
2021-01-02 19:46:08 +00:00
Michael Lutz
5b1fb94240
Codechange: [OSX] Prevent the compiler from using SSE4 instructions unless we want to.
...
This improves compatibility on older systems. We don't need to disable anything
older, as there are no SSE2-only Macs.
2021-01-02 01:26:26 +01:00
Jonathan G Rennison
483ed2f468
Merge branch 'master' into jgrpp
...
# Conflicts:
# .github/workflows/ci-build.yml
# .github/workflows/commit-checker.yml
# src/openttd.cpp
2020-12-27 20:16:16 +00:00
Patric Stout
0c3ddc5436
Fix: support non-ubuntu/debian Linux variants with LSB support ( #8408 )
...
This now generates a warning, as we would still like people to
make a Pull Request to support the target. But it does continue
with packing to a txz.
2020-12-21 21:32:29 +01:00
Patric Stout
2df182748c
Fix: [CMake] automatically detect dependencies for .deb packages
2020-12-19 18:26:29 +01:00
Patric Stout
6228dde3da
Fix: [bundle] postfix the distribution for Linux bundles
2020-12-19 18:26:29 +01:00
Patric Stout
b8217610ce
Fix: [bundle] postfix the architecture for Mac OS bundles
...
This in preparation for other architectures, like arm64.
2020-12-19 18:26:29 +01:00
Patric Stout
7cdf7c7ca0
Fix: [bundle] custom launch.sh is no longer required for Mac OS
...
Co-authored-by: Owen Rudge <owen@owenrudge.net>
2020-12-19 18:26:29 +01:00
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>
2020-12-15 15:46:39 +01:00
Owen Rudge
b14e3b9b9d
Feature: Switch to bzip2 compression for DMG files (supported by OS X 10.4+)
2020-12-13 23:58:37 +01:00
glx22
d1fa6b129c
Add: [CMake] Option to only build tools/docs
2020-12-13 22:46:46 +01:00
Michael Lutz
a660dce295
Fix: [CMake, MSVC] Don't copy regression exe's into a subfolder as they need have their lang files next to them.
2020-12-13 22:45:50 +01:00
glx22
6fae0b83d9
Add: [CMake] targets to generate documentation
2020-12-12 15:48:04 +01:00
Jonathan G Rennison
4da3cfcf56
Merge branch 'master' into jgrpp
...
# Conflicts:
# CMakeLists.txt
# src/bootstrap_gui.cpp
2020-12-07 17:56:44 +00:00
glx22
a06fe8e8a7
Fix: [CMake] cross-compiling requires native tools
2020-12-04 09:49:31 +00:00
Jonathan G Rennison
55fae045b1
Merge branch 'master' into jgrpp
2020-11-28 11:23:35 +00:00
Charles Pigott
0a9aed0522
Fix: [CMake] Don't detect XAudio2 if defines are missing
2020-11-26 19:06:03 +00:00
Jonathan G Rennison
940b5e7a2f
Merge branch 'master' into jgrpp
2020-11-04 17:55:00 +00:00
Jonathan G Rennison
fcb2f7087f
CMake: Fix inconsistent use of modified suffix in FindVersion
2020-10-20 18:38:49 +01:00
Jonathan G Rennison
381313aa8a
CMake: Use fixed commit hash abbreviation length in FindVersion
2020-10-20 18:18:14 +01:00
Jelle van der Waa
b6615b2cd4
Fix: make reproducible by not embedding timestamps
...
By default gzip embeds a timestamps which makes building it twice
not reproducible, passing -n skips this embedding behaviour.
Motivation: https://reproducible-builds.org
2020-10-15 22:01:12 +01:00
Jonathan G Rennison
d85a529f87
Merge branch 'master' into jgrpp
2020-10-14 17:38:23 +01:00
Charles Pigott
a0307652f3
Fix: Work around cmake bug by stripping link target strings
2020-10-03 16:17:11 +01:00
Charles Pigott
348c231e12
Codechange: Make codestyle for CMake files consistent for 'control' statements
2020-09-25 14:43:13 +01:00
Jonathan G Rennison
aea747be08
Merge branch 'master' into jgrpp
...
# Conflicts:
# src/hotkeys.cpp
2020-09-21 02:14:30 +01:00
laikh
6358ae47de
Fix: Remove /MP flag and improve FindEditbin.cmake for Windows clang-cl build
2020-09-01 09:45:48 +01:00
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
2020-08-27 18:31:09 +01:00
Michael Lutz
7d66540af5
Fix: [CMake] Don't strip final newline from regression output.
...
The expected regression output files all end with a newline. As such, we have to make sure we capture the output from OpenTTD with the last newline intact.
2020-07-27 17:26:19 +01:00
glx
4079c47b6c
Change: rewrote squirrel_export in CMake
2020-07-16 00:53:26 +02:00
glx
8794c61f25
Change: rewrote generate_widget in CMake
2020-07-16 00:53:26 +02:00
Jonathan G Rennison
dbdab67cda
version_utils.sh: Fix getting current version
2020-07-12 12:59:24 +01:00
Jonathan G Rennison
7467051331
Merge branch 'master' into jgrpp
...
# Conflicts:
# .gitignore
# src/network/network_server.cpp
# src/vehicle_gui.cpp
2020-07-12 12:29:28 +01:00
Michael Lutz
00eccbe298
Add: [CMake] Source group definitions to create file filters in generated project files (like the old MSVC projects).
2020-07-10 19:33:00 +02:00
Jonathan G Rennison
e8843cb979
Merge branch 'pr-169' into jgrpp
2020-07-09 17:41:32 +01:00
Alex Brooke
e0fb398bbd
Fix: debian package dependencies
2020-07-07 17:13:44 -04:00
Jonathan G Rennison
737ced9f50
Merge branch 'master' into jgrpp
2020-07-07 17:28:19 +01:00
Michael Lutz
de4dc792a9
Fix: [CMake] Re-enable multi-threaded compilation for MSVC project files.
2020-07-05 21:11:09 +02:00
glx22
97592c4093
Add: [CMake] Allow renaming of openttd binary
2020-07-02 21:18:14 +02:00
glx22
53de5b5c55
Fix: [CMake] Restore man file compression
2020-07-02 21:18:14 +02:00
Jonathan G Rennison
15d32bcd19
CMake: Disable stripping in bundle
2020-07-01 21:52:21 +01:00
Jonathan G Rennison
efaf935cbf
CMake: Remove reference to empty bin/data dir
2020-07-01 00:36:10 +01:00
Jonathan G Rennison
1304d7c8b6
CMake: Add DbgHelp define for MinGW
2020-07-01 00:25:50 +01:00
Jonathan G Rennison
fa42151290
CMake: Enable debug line tables if BFD found
2020-06-30 22:30:29 +01:00
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
2020-06-30 21:43:04 +01:00
Dan Villiom Podlaski Christiansen
e6be8be19d
Fix: remove remainining usages of FALSE in CMake files
2020-06-30 09:43:00 +01:00
Dan Villiom Podlaski Christiansen
70905ee82e
Fix: fix building release tags
...
I tried building a tag, and got this error:
CMake Error at cmake/scripts/FindVersion.cmake:85 (string):
string sub-command REGEX, mode REPLACE: regex "^[0-9.]*$" matched an empty
string.
2020-06-30 09:43:00 +01:00
Dan Villiom Podlaski Christiansen
241e3adae8
Fix: use proper flags for suppressing warnings in Clang
2020-06-30 09:43:00 +01:00
Dan Villiom Podlaski Christiansen
0d46e20bd4
Add: add option for forcing coloured compiler output (useful for Ninja)
2020-06-30 09:43:00 +01:00
Jonathan G Rennison
10aab3e3a3
CMake: Add BFD, support new BFD API
2020-06-28 21:57:02 +01:00
Jonathan G Rennison
ecc9eb4df1
CMake: Set optimisation flags if no build type specified
2020-06-28 21:57:02 +01:00
Jonathan G Rennison
4cee6f3d79
CMake: Remove disabling asserts for release builds
2020-06-28 21:57:02 +01:00
Jonathan G Rennison
73edc5aaba
CMake: Add ucontext on Mac/OSX
2020-06-28 21:57:02 +01:00
Jonathan G Rennison
f1a9d0d056
CMake: Fix .ottdrev-vc read and write
2020-06-28 21:57:02 +01:00
Jonathan G Rennison
e05fa5c1c3
CMake: Add builtins
2020-06-28 21:57:02 +01:00
Jonathan G Rennison
39eaa94435
CMake: Add ucontext
2020-06-28 21:57:02 +01:00
Jonathan G Rennison
6b7668dc83
CMake: Add sigaction, sigaltstack, self dbg
2020-06-28 21:57:02 +01:00
Jonathan G Rennison
10626baaf2
CMake: Add -fno-stack-check for OSX
...
See: 0a027a27
2020-06-28 21:57:02 +01:00
Jonathan G Rennison
a8c3ceb3c9
CMake: Add libdl and demangle support
2020-06-28 21:57:02 +01:00
TechGeekNZ
cf8ea74733
Update: Merge branch 'jgrpp_master_cmake' into jgrpp_cmake
2020-06-28 21:56:43 +01:00
glx22
63d20c029b
Fix 887b912af
: MinGW requires an extra link flag with _FORTIFY_SOURCE ( #8246 )
...
see #7860
2020-06-28 01:18:28 +02:00
Charles Pigott
887b912af1
Codechange: Only apply FORTIFY_SOURCE in non-debug builds
...
It requires -O1 (or greater) and GCC spews out warnings if you try using it with -O0
2020-06-27 14:51:14 +01:00
Dan Church
506598a80a
Fix: [CMake] Fix install paths using GNUInstallDirs
2020-06-18 21:18:53 +01:00
glx22
8ef3d8f584
Revert f51e66f6
: creating zip bundle fails for MacOS
2020-06-10 21:10:00 +02:00
glx22
0b86bd8b03
Fix: CMake option values should be ON/OFF
2020-06-08 09:49:26 +01:00
glx22
3d76677594
Fix: Generate windows installer only for stable releases
2020-06-08 09:49:26 +01:00
glx22
f51e66f697
Fix: Restore zip bundle for MacOS
2020-06-08 09:49:26 +01:00
glx
b145ee310c
Fix: MacOS bundle creation
2020-06-06 19:23:54 +02:00
glx
877d196ef5
Fix: Incorrect REV_YEAR, and parsing of .ottdrev
2020-06-05 22:32:07 +02:00
Patric Stout
4218ebc932
Fix: [AzurePipelines] switch the CI / CD to CMake too
...
This also means dropping Debian/jessie, as it has a CMake that is
too old (3.0), with no real path to upgrade.
2020-06-05 19:36:05 +02:00
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.
2020-06-05 19:36:05 +02:00
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.
2020-06-05 19:36:05 +02:00
Patric Stout
85315e2e31
Codechange: rework how grf and ob[msg] are generated
...
For grfs, it now uses CMake scripts to do its job, and both grf
files are split into their own folder to make more clear what is
going on. Additionally, it no longer builds in-source (although the
resulting grf is copied back in the source folder).
For ob[msg] it now uses CMake scripts to generate the translation
files; the result is no longer stored in-source (but in the build
folder).
Although all files are available to create the GRFs and basesets, it
won't really work till CMake is introduced (which will happen in a
few commits from here)
2020-06-05 19:36:05 +02:00
Patric Stout
203a77c1dc
Codechange: move regression outside of bin and make it work via CMake script
...
The tst_stationlist savegame had to be changed to start the correct
AI. In the old setup, all regression AIs had the same name, which
made it impossible to run both regressions in parallel. With the new
setup this is possible.
Although all files are available to run the regression, it won't
really work till CMake is introduced (which will happen in a few
commits from here)
2020-06-05 19:36:05 +02:00