Commit Graph

235 Commits (jgrpp)

Author SHA1 Message Date
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
3 years ago
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
3 years ago
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
3 years ago
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
3 years ago
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
3 years ago
Owen Rudge a2bd0a14e1 Feature: [Actions] ARM64 builds for Windows 3 years ago
Owen Rudge 2d9e164ec4 Fix: [Actions] Give Universal Mac packages the "universal" suffix 3 years ago
Owen Rudge 0a129bc810 Change: Label Mac builds as "macos" instead of "macosx" 3 years ago
glx22 97d554feb1 Codechange: On regression failure, output the result in a file 3 years ago
Owen Rudge bbc96fd37c Fix: Don't add -mno-sse4 on arm64 3 years ago
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.
3 years ago
Charles Pigott 10090d0ac6 Add: [CMake] Explicitly support txz for Arch Linux 3 years ago
Charles Pigott 3dfee979a7 Codechange: Drop libxdg-basedir dependency in favour of finding the directories ourselves 3 years ago
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.
3 years ago
Jonathan G Rennison 483ed2f468 Merge branch 'master' into jgrpp
# Conflicts:
#	.github/workflows/ci-build.yml
#	.github/workflows/commit-checker.yml
#	src/openttd.cpp
3 years ago
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.
3 years ago
Patric Stout 2df182748c Fix: [CMake] automatically detect dependencies for .deb packages 3 years ago
Patric Stout 6228dde3da Fix: [bundle] postfix the distribution for Linux bundles 3 years ago
Patric Stout b8217610ce Fix: [bundle] postfix the architecture for Mac OS bundles
This in preparation for other architectures, like arm64.
3 years ago
Patric Stout 7cdf7c7ca0 Fix: [bundle] custom launch.sh is no longer required for Mac OS
Co-authored-by: Owen Rudge <owen@owenrudge.net>
3 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>
3 years ago
Owen Rudge b14e3b9b9d Feature: Switch to bzip2 compression for DMG files (supported by OS X 10.4+) 3 years ago
glx22 d1fa6b129c Add: [CMake] Option to only build tools/docs 3 years ago
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. 3 years ago
glx22 6fae0b83d9 Add: [CMake] targets to generate documentation 3 years ago
Jonathan G Rennison 4da3cfcf56 Merge branch 'master' into jgrpp
# Conflicts:
#	CMakeLists.txt
#	src/bootstrap_gui.cpp
3 years ago
glx22 a06fe8e8a7 Fix: [CMake] cross-compiling requires native tools 4 years ago
Jonathan G Rennison 55fae045b1 Merge branch 'master' into jgrpp 4 years ago
Charles Pigott 0a9aed0522 Fix: [CMake] Don't detect XAudio2 if defines are missing 4 years ago
Jonathan G Rennison 940b5e7a2f Merge branch 'master' into jgrpp 4 years ago
Jonathan G Rennison fcb2f7087f CMake: Fix inconsistent use of modified suffix in FindVersion 4 years ago
Jonathan G Rennison 381313aa8a CMake: Use fixed commit hash abbreviation length in FindVersion 4 years ago
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
4 years ago
Jonathan G Rennison d85a529f87 Merge branch 'master' into jgrpp 4 years ago
Charles Pigott a0307652f3 Fix: Work around cmake bug by stripping link target strings 4 years ago
Charles Pigott 348c231e12 Codechange: Make codestyle for CMake files consistent for 'control' statements 4 years ago
Jonathan G Rennison aea747be08 Merge branch 'master' into jgrpp
# Conflicts:
#	src/hotkeys.cpp
4 years ago
laikh 6358ae47de Fix: Remove /MP flag and improve FindEditbin.cmake for Windows clang-cl build 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
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.
4 years ago
glx 4079c47b6c Change: rewrote squirrel_export in CMake 4 years ago
glx 8794c61f25 Change: rewrote generate_widget in CMake 4 years ago
Jonathan G Rennison dbdab67cda version_utils.sh: Fix getting current version 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 e8843cb979 Merge branch 'pr-169' into jgrpp 4 years ago
Alex Brooke e0fb398bbd
Fix: debian package dependencies 4 years ago
Jonathan G Rennison 737ced9f50 Merge branch 'master' into jgrpp 4 years ago
Michael Lutz de4dc792a9 Fix: [CMake] Re-enable multi-threaded compilation for MSVC project files. 4 years ago
glx22 97592c4093 Add: [CMake] Allow renaming of openttd binary 4 years ago
glx22 53de5b5c55 Fix: [CMake] Restore man file compression 4 years ago
Jonathan G Rennison 15d32bcd19 CMake: Disable stripping in bundle 4 years ago
Jonathan G Rennison efaf935cbf CMake: Remove reference to empty bin/data dir 4 years ago
Jonathan G Rennison 1304d7c8b6 CMake: Add DbgHelp define for MinGW 4 years ago
Jonathan G Rennison fa42151290 CMake: Enable debug line tables if BFD found 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
Dan Villiom Podlaski Christiansen e6be8be19d Fix: remove remainining usages of FALSE in CMake files 4 years ago
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.
4 years ago
Dan Villiom Podlaski Christiansen 241e3adae8 Fix: use proper flags for suppressing warnings in Clang 4 years ago
Dan Villiom Podlaski Christiansen 0d46e20bd4 Add: add option for forcing coloured compiler output (useful for Ninja) 4 years ago
Jonathan G Rennison 10aab3e3a3 CMake: Add BFD, support new BFD API 4 years ago
Jonathan G Rennison ecc9eb4df1 CMake: Set optimisation flags if no build type specified 4 years ago
Jonathan G Rennison 4cee6f3d79 CMake: Remove disabling asserts for release builds 4 years ago
Jonathan G Rennison 73edc5aaba CMake: Add ucontext on Mac/OSX 4 years ago
Jonathan G Rennison f1a9d0d056 CMake: Fix .ottdrev-vc read and write 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 10626baaf2 CMake: Add -fno-stack-check for OSX
See: 0a027a27
4 years ago
Jonathan G Rennison a8c3ceb3c9 CMake: Add libdl and demangle support 4 years ago
TechGeekNZ cf8ea74733 Update: Merge branch 'jgrpp_master_cmake' into jgrpp_cmake 4 years ago
glx22 63d20c029b
Fix 887b912af: MinGW requires an extra link flag with _FORTIFY_SOURCE (#8246)
see #7860
4 years ago
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
4 years ago
Dan Church 506598a80a Fix: [CMake] Fix install paths using GNUInstallDirs 4 years ago
glx22 8ef3d8f584 Revert f51e66f6: creating zip bundle fails for MacOS 4 years ago
glx22 0b86bd8b03 Fix: CMake option values should be ON/OFF 4 years ago
glx22 3d76677594 Fix: Generate windows installer only for stable releases 4 years ago
glx22 f51e66f697 Fix: Restore zip bundle for MacOS 4 years ago
glx b145ee310c Fix: MacOS bundle creation 4 years ago
glx 877d196ef5 Fix: Incorrect REV_YEAR, and parsing of .ottdrev 4 years ago
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.
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
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)
4 years ago
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)
4 years ago