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