Commit graph

245 commits

Author SHA1 Message Date
JosiahWI 1298374818
Upgrade client active object mgr tests to Catch2 (#14565)
* Upgrade client active object mgr tests to Catch2

In addition to invoking Catch2's test runner after Minetest's homemade
runner, this refactors the tests to follow the DRY principle, and gives
them expressive names and clear assertions. Catch2 is already bundled
with Minetest, so there are no added dependencies.

* Increment failed modules count for Catch2 tests

* Respect --test-module option for Catch2 tests

* Improve Catch2 --test-module behavior

This switches infostream to rawstream so that test runner output is
displayed, and returns the correct boolean depending on the results. The
tests are now found by setting the configuration instead of invoking the
command line parser.

* Test uniqueness of all IDS instead of just one

Co-Authored-By: Lars Müller <appgurulars@gmx.de>

* Include Catch2 test run in timing and logging

* Flush std::cout after printing Catch results

* Increment total tests run instead of hardcoding to 1

* Flush stderr before printing to stdout

It's necessary to flush stderr before printing to stdout in adition to
flushing stdout before printing to stderr, to make sure all output is
ordered correctly.

* Make Catch write to rawstream

---------

Co-authored-by: Lars Müller <appgurulars@gmx.de>
2024-05-22 18:39:53 +02:00
sfan5 b9adf244e5 Simplify Irrlicht CMake for static linking
removes any dynamic linking capability, which will stop being possible soon anyway.
2024-04-10 15:31:59 +02:00
Desour 9cee9bc279 Build with the imported IrrlichtMt at irr
Also remove the now useless options (like IRRLICHT_INCLUDE_DIR)
and update download instructions, CI and similar.

Co-authored-by: sfan5 <sfan5@live.de>
2024-03-26 21:39:02 +01:00
sfan5 229389b7f6 Use newer IrrlichtMt 2024-02-26 20:47:47 +01:00
sfan5 4caf0e4cb9
Update LTO exclusion list (#14407) 2024-02-25 20:58:42 +01:00
David Heidelberg eb52a149a0
Enable IPO/LTO by default except for debug builds (#14198)
Test case:

```
$ cmake . -DRUN_IN_PLACE=TRUE -DCMAKE_BUILD_TYPE=Release -DBUILD_SERVER=TRUE -DENABLE_TOUCH=FALSE

         minetest minetestserver
W/o LTO:      13M           7.3M
W/  LTO:      11M           5.9M
difference:   15%            19%
```

Also fixes various compiler warnings resulting from compilation using LTO.

---------

Signed-off-by: David Heidelberg <david@ixit.cz>
2024-02-09 00:01:12 +01:00
sfan5 699d1bf27c Use newer IrrlichtMt
now with SDL2
2024-01-19 11:54:40 +01:00
Gary Miguel 634e49b961
Improve Irrlicht instructions (#14055)
Specify the version when cloning.
Move instructions from CMakeLists to docs/compiling/.
2023-12-08 21:11:54 +01:00
rubenwardy 55f40a7f8d Continue with 5.9.0-dev 2023-12-04 17:15:43 +00:00
rubenwardy 49ce5a2de6 Bump version to 5.8.0 2023-12-04 17:15:36 +00:00
Thresher 80c4c260ae
Refactor and move world_format.txt to world_format.md (#13504)
Co-authored-by: Muhammad Rifqi Priyo Susanto <muhammadrifqipriyosusanto@gmail.com>
2023-11-08 07:00:04 +07:00
ROllerozxa 570fc90bf6
Debundle Minetest Game (#13818) 2023-11-07 22:18:26 +01:00
sfan5 8d2e1289a4 Use newer IrrlichtMt 2023-10-27 19:00:04 +02:00
Desour 5e0f14266d Fix forgotten CLANG_MINIMUM_VERSION update 2023-10-14 13:23:17 +02:00
Loïc Blot 929a13a9a0
build: Allow disabling documentation build + print more build flags (#13871)
* build: permit to disable documentation build

* build: add a message about some BUILD_* flags
2023-10-09 15:35:12 +02:00
sfan5 72ed8514c5 Use newer IrrlichtMt 2023-07-20 22:15:47 +02:00
Desour 5d863d7e9c Bump C++ std to 17 2023-06-15 10:38:44 +02:00
Desour 28766d1879 Bump minimum gcc and clang versions 2023-06-15 10:38:44 +02:00
sfan5 1ef9fc9d1f Bump used IrrlichtMt version 2023-06-04 20:36:46 +02:00
sfan5 8cccd75e81
Android build via CMake (#13528)
* the thing

* the thing 2
2023-05-26 15:21:23 +02:00
rubenwardy b1786e88ac Use .md extension for markdown files
Linking to line numbers is brittle, linking to sections/headings is better.

If you still want to link to a line number, you can append ?plain=1 to GitHub's URL
2023-04-16 20:23:53 +01:00
sfan5 c2a9ac24ac Continue with 5.8.0-dev 2023-04-08 18:05:03 +02:00
sfan5 1b95998d11 Bump version to 5.7.0 2023-04-08 18:04:52 +02:00
sfan5 9ef3c8ce38 Increase used IrrlichtMt version 2023-03-05 22:00:27 +01:00
ROllerozxa d0b6f217ae
Add option to exclude Development Test from release packages (#13081)
* `INSTALL_DEVTEST` is the option name
2023-01-09 20:34:13 +01:00
sfan5 6377ce921d Bump used IrrlichtMt version 2022-12-31 12:48:53 +01:00
Abdou-31 d1b80b462e
Fix typos and en_US/en_GB inconsistency in various files (#12902) 2022-11-09 11:57:19 -05:00
sfan5 9f0d88407d
Revise bump_version.sh script to address shortcomings (#12789) 2022-10-21 17:09:44 +02:00
sfan5 f680d10259 Other minor CMake improvements 2022-10-13 23:02:11 +02:00
sfan5 a428a0cf37 Bump used IrrlichtMt version 2022-09-16 19:54:59 +02:00
sfan5 ec778508df Continue with 5.7.0-dev 2022-08-04 22:46:02 +02:00
sfan5 53dd648c96 Bump version to 5.6.0 2022-08-04 22:46:00 +02:00
SmallJoker a81259d19a
Run Minetest update checker on startup (#7629)
This feature is enabled by default for non-Android release builds. Package
maintainers may use -DENABLE_UPDATE_CHECKER=0 to disable it.

Co-authored-by: rubenwardy <rw@rubenwardy.com>
Co-authored-by: sfan5 <sfan5@live.de>
2022-08-02 21:34:17 +02:00
sfan5 7e78c0171e Check minimum Irrlicht version before build 2022-07-23 22:27:19 +02:00
sfan5 16a30556df Formally drop support for building with upstream Irrlicht
It stopped working with (at least) the last commit.
2022-05-23 22:50:58 +02:00
paradust7 87472150bc
Add benchmarks for json string serialize/deserialize (#12258)
Co-authored-by: sfan5 <sfan5@live.de>
2022-05-06 21:17:16 +01:00
ShadowNinja 7993909fab Spacing fixes 2022-04-08 14:55:21 +01:00
sfan5 04bd253390 Move the codebase to C++14 2022-02-26 14:39:41 +01:00
sfan5 8c0331d244 Continue with 5.6.0-dev 2022-01-30 22:58:19 +01:00
sfan5 54b805ffd0 Bump version to 5.5.0 2022-01-30 22:58:18 +01:00
sfan5 a90b2a4d4f Raise minimum compiler versions
Supporting these is not reasonable anymore and effectively we didn't
do that anyway, brokenness was only noticed by chance and a PR to restore
support for gcc 5.x is ready now.
2022-01-15 17:44:22 +01:00
William L. DeRieux IV cc64a0405a
Automatically use SSE registers for FP operations on i386 (#11853)
use SSE for floating-point operations to avoid issues with improper fp-rounding and
loss of precision when moving fp-data to incompatible or less-precise
registers/storage locations

https://gcc.gnu.org/wiki/FloatingPointMath
https://gcc.gnu.org/wiki/x87note
2021-12-28 14:06:24 +01:00
sfan5 ff934d538c
Fix various code & correctness issues (#11815) 2021-12-05 14:40:30 +01:00
Lejo b9051386ae
Add Lua bitop library (#9847) 2021-11-26 19:31:05 +01:00
JosiahWI 38ba813c55
Add variable to use existing IrrlichtMt build (#11656)
Co-authored-by: SmallJoker <SmallJoker@users.noreply.github.com>
2021-10-31 22:33:11 +00:00
nia 2dc73d239a
Use CMake's GNUInstallDirs for install directories on Unix (#11636)
This makes the installation process honor system-specific
directories (e.g. ${PREFIX}/man instead of ${PREFIX}/share/man on
BSD).
2021-09-26 18:04:30 +02:00
20kdc a3e32d81c5
Add hint to error message on how to build with in-tree Irrlicht 2021-09-05 19:57:40 +02:00
JosiahWI ef84c3b8b9
Set policies through CMake 3.9 to allow enabling IPO (#11560) 2021-08-23 22:13:47 +02:00
sfan5 fad835cf64
Fix server-only builds on older CMake versions (#11566)
closes #11564
2021-08-23 13:33:25 +02:00
sfan5 a72d13064f Allow lib/irrlichtmt to work for server builds (headers-only) 2021-08-21 13:53:59 +02:00