Commit Graph

99 Commits (3a03a12a9c460918e81af96cca55399b60064261)

Author SHA1 Message Date
Loïc Guilloux 3c59b8e9ec
Fix: disable "redundant move" warnings for GCC (#10803)
GCC warns about redundant std::move while clang warns when they are missing, so we silence the less harmful one
1 year ago
Patric Stout 81d4fa6999 Feature: drop ICU-lx in favour of directly interfacing with harfbuzz
This means we have RTL support again with ICU 58+. It makes use of:
- ICU for bidi-itemization
- ICU for script-itemization
- OpenTTD for style-itemization
- harfbuzz for shaping
1 year ago
PeterN e97bf271dc
Codechange: Make SpriteType, CargoSortType, SourceType and ScriptType enum classes. (#10663)
This avoids a (soft) namespace conflict between the four ST_* enums.
1 year ago
Rubidium 43a7e54067 Add: unit test functionality using catch2 1 year ago
Rubidium 88ead3f102 Add: catch2 v2.13.10 1 year ago
Rubidium 9b56505fec Codechange: split building into a library and executable 1 year ago
Eric Long 20a1b24b45 Fix: build on platforms without native atomic 1 year ago
Michael Lutz 9b3326e3fd Codechange: [Script] Use std::vector instead of a hand-rolled alternative. 1 year ago
Michael Lutz ca3cb4d2ef Codechange: [Script] Use a class template instead of a function template for squirrel type conversion.
Class templates allow using partial template specialization, which is useful in
case one wants to have a type conversion on a type that is itself templated.
1 year ago
Byoungchan Lee 12f9fbcf39
Fix: [CMake] remove cpack warning on fedora when lsb_release exists (#10437) 1 year ago
Rubidium 67e1d1ad89 Fix: no need to cast enums down to int32; they will be automatically promoted to int64 1 year ago
Rubidium 042f90a9dd Fix: no ScriptEvent sub class should export constructors to scripts 1 year ago
glx22 ffc1f7ce56 Fix 57717a2: [CMake] Don't apply 'cl' workaround to 'clang-cl' 2 years ago
Loïc Guilloux c294e8b19f
Codechange: [MinGW] use pe-bigobj-x86-64 format for x64 debug builds (#10142) 2 years ago
Loïc Guilloux 0afa6f2424
Codechange: [CMake] Auto-fill list of #include in script_window.hpp (#10103) 2 years ago
Bouke Haarsma 887b760c88
Change: Strip symbols from bundles except macOS (#10072) 2 years ago
Bouke Haarsma d0dcb6547e
Change: Don't strip symbols from bundles (#10071) 2 years ago
Peter Nelson 2cdd8b7429 Change: Separate fontcache implementations. 2 years ago
Loïc Guilloux 57717a20d3
Fix #9966: workaround a VS2022 optimisation bug (#10029) 2 years ago
glx22 906613e83a Change: [CMake] Disable newgrf scan for regression check 2 years ago
Loïc Guilloux 7331149dde
Codechange: [CMake] Pass API files list via a file to minimise command line length (#9874) 2 years ago
Nik Nyby 44713a68ed
Add: [CMake] support rpm for fedora and rhel (#9861) 2 years ago
Nik Nyby 6204020b6a
Fix: CMake error message grammar (#9860) 2 years ago
Loïc Guilloux c85557e553
Fix: [MinGW] Disable ASLR for x64 Debug builds (#9773) 3 years ago
Patric Stout eca73a810c Change: rebrand 1.12.0 to 12.0
One question that keeps popping up: "when do we release 2.0?".
NewGRF will force that at least 1.16 will be 2.0, but to not wait
for this, let's drop the "1." and be for ever done with that
conversation.

We are following in the footstep of giants here.
3 years ago
Michael Lutz 10d8c17236 Codechange: Add CMake source group for the saveload compat tables.
While at it, fix the not-working OpenGL sub-group.
3 years ago
Rubidium 3237e97b35 Cleanup: [Script] Use nullptr instead of 0 or NULL 3 years ago
Loïc Guilloux 076f3d26c2
Fix #9329: [CMake] FindVersion.cmake relied on internal cmake variable (#9330) 3 years ago
Owen Rudge 3ce7e31f64 Feature: Sign Windows builds 3 years ago
milek7 36bcd2956a Fix: Building on Haiku 3 years ago
Loïc Guilloux c0a0d85d20
Fix: [Actions] Annotations not shown for MSVC (#9247) 3 years ago
glx22 aca20092aa Fix: [CMake] Check nforenum and grfcodec return value 3 years ago
glx22 e62ecbff16 Fix: [CMake] Incorrect dependency checks for GRF 3 years ago
Loïc Guilloux d4f0b6f434
Fix: [CMake] Auto-fill version details in rev.cpp and ottres.rc (#9066) 3 years ago
Loïc Guilloux 8395c6532e
Fix 799eb31: [CMake] Don't include regression AIs in bundles (#9068) 3 years ago
Loïc Guilloux f306d65ea3
Fix: [CMake] Use the right run-time library depending on vcpkg triplet (#8964) 3 years ago
Loïc Guilloux 799eb31ff1
Change: [CMake] Copy AI/GS compatibility files to build dir (#8906) 3 years ago
Patric Stout 501087058e Fix: [CMake] if the regex for STABLETAG is empty, it means it is stable
This feels a bit inside out, but it makes sense: if there are no
"beta1" or "RC1" mentions, it means it is a stable release.
3 years ago
glx22 35a228f78f Add: [CMake] Install menu and media files 3 years ago
glx22 b5770acd50 Codechange: [CMake] Add checks for baseset script parameters 3 years ago
glx22 349dc568ea Fix: [CMake] Remove timestamps from regression output 3 years ago
glx22 b67245d71e Fix: [CMake] CMake may use || at the end of custom commands 3 years ago
glx22 ec9d1a6b8f Fix: [CMake] CMAKE_SOURCE_DIR may contain regex commands 3 years ago
Michael Lutz 9a069faa01 Codechange: [Win32] Try to get an OpenGL 3.2+ context if possible. 3 years ago
Owen Rudge 395e015282 Change: Convert .md to .rtf for Windows/Mac packages 3 years ago
glx22 2cbfcd2327 Change: [CMake] Bump minimum version to 3.9 3 years ago
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.
3 years ago
glx22 99448eedca Fix: [CMake] os/windows/openttd.manifest is not a generated file 3 years ago
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.
3 years ago
Owen Rudge a2bd0a14e1 Feature: [Actions] ARM64 builds for Windows 3 years ago