Commit graph

83 commits

Author SHA1 Message Date
staphen
422ae249e7 [3DS] Use latest version of makerom 2022-01-26 05:06:22 +01:00
Gleb Mazovetskiy
076b0c0c05 Overhaul tests
1. Adds a `libdevilution_so` target when tests are enabled.
2. Each test file is now a separate binary target linked against `libdevilutionx_so` (can now run tests in parallel).
3. Tests are now defined in a separate `test/CMakeLists.txt` file.
4. Building the tests is now controlled by the standard `BUILD_TESTING` option (defined by CTest).
5. Tests are now built by default.
6. On CI, test errors are now reported.

Also:

* `.clang-format`: Enable SortIncludes in tests
* `path_test.cpp`: Fix -Wsign-compare
2021-12-16 20:26:51 +00:00
staphen
66beceba59 Remove NIGHTLY_BUILD and BINARY_RELEASE options 2021-12-10 10:10:39 +01:00
staphen
5d14513f3b Add 3dsx back to the 3DS build 2021-12-01 08:51:51 +01:00
Stephen C. Wills
08792e0b49
Remove 3dsx from docs and builds (#3458) 2021-11-10 01:33:33 +01:00
Gleb Mazovetskiy
3d308983a8 Migrate to libmpq
libmpq is a much simpler alternative to StormLib for reading MPQ archives.

We use our own fork of libmpq: https://github.com/diasurgical/libmpq

Impact:

* DevilutionX is now a lot more portable. Unlike StormLib, libmpq only
  needs platform-specific code for Windows.
* Locks around file access **removed** (instead we duplicate the file descriptor for streamed audio only).
* RAM usage is **300 KiB** lower than StormLib.
* Stripped release linux_x86_64 binary is **32 KiB** smaller.
* Amiga build now hangs instead of crashing.
2021-11-06 23:51:42 +00:00
frrsth
779c17a688 remove ttf references 2021-11-06 16:53:28 +01:00
Ivan Epifanov
9b125997b4 Add gettext builddep 2021-10-20 15:00:04 +02:00
staphen
e4a7920922 Use GitHub Actions for Android test builds 2021-10-16 18:52:20 +02:00
Ivan Epifanov
82b319c989 Remove smpq from vita build 2021-10-11 03:04:50 +02:00
Gleb Mazovetskiy
f29215a167 CI: Manually build & install SMPQ on Vita CI 2021-10-01 11:58:19 +02:00
Anders Jenbo
6321ddb721 Generate devilutionx.mpq 2021-09-29 17:08:36 +02:00
staphen
60492ef954 Add proper graphics for gamepad 2021-09-16 19:25:31 +02:00
staphen
c11929e282 Install gettext in 3DS CI 2021-08-09 03:30:48 +02:00
staphen
7510048bd6 Add 3DS CI commands to download ffmpeg 2021-07-29 05:45:17 +02:00
ephphatha
0efb134e18 Add tests for quest randomisation code
Required splitting the code to a separate function so it can be tested in isolation
2021-07-16 15:13:32 +02:00
Anders Jenbo
3f7ad14306 Set up CI for Android builds 2021-06-15 02:49:39 +02:00
staphen
6aba719ed1 Remove 3DS package updates from CI script 2021-06-13 01:49:13 +02:00
staphen
fc9793cd73 Fix 3DS CI build 2021-06-07 10:46:18 +02:00
staphen
2c03da3516 Adjust cmake commands for 3DS build 2021-05-31 19:59:19 +02:00
Gleb Mazovetskiy
7ab16c5c5d 🔨 CMake: Cleanup Nintendo Switch variables 2021-05-28 13:37:52 +02:00
Dave Murphy
733cf56a1e use upstream devkitPro cmake machinery 2021-05-28 09:54:19 +01:00
obligaron
ac6a398cb6 New CMake option ENABLE_CODECOVERAGE to toggle instrumentation of code for code coverage 2021-05-15 02:08:26 +02:00
Gleb Mazovetskiy
74490885d5 🔨 Fix 3DS build 2021-05-13 21:49:33 +02:00
Gleb Mazovetskiy
633a47fd76 🔨 Fix Switch CI build
The image was updated from Debian Stretch to Debian Buster in 491845c3c3
2021-05-13 01:27:13 +02:00
Trihedraf
9a27132ad9 Move Linux x64 back to circleci and debian:stretch-backports 2021-05-03 12:56:14 +02:00
Trihedraf
3461652e99 Move Win CircleCI builds to GitHub Actions 2021-05-03 12:56:14 +02:00
Trihedraf
5a9c74a52d remove Linux_x86, Linux_x86_64, Linux_SDL1 from circleci 2021-05-03 06:36:55 +02:00
Gleb Mazovetskiy
acee2ef14c 🎉 Switch from SDL_mixer to SDL_audiolib
SDL_mixer can only stream a single music track
SDL_audiolib has unlimited streams.

With this change, we finally have streaming sounds (respecting
sfx_STREAM).

Audio options can now also be set via diablo.ini, which should help us
better diagnose the static noise issues.
2021-04-27 00:54:50 +01:00
Gleb Mazovetskiy
1977f39ecb 🔨 Switch: Better fix for pkgconfig support 2021-04-25 22:13:00 +01:00
Gleb Mazovetskiy
fdc6cd6f7e 🔨 Switch CI: Fix pkgconfig support
Works around https://github.com/devkitPro/docker/issues/16
2021-04-25 20:14:00 +02:00
Gleb Mazovetskiy
2f40211404 🔨 CI: Use system libfmt on Debian Testing builds 2021-04-25 14:34:39 +02:00
Gleb Mazovetskiy
7e9ef03334 🔨 CMake MinGW: Set pkgconfig path and fix prefix
1. Make CMake use MinGW's pkgconfig wrapper.
2. Set the correct `prefix` in `pkgconfig` files.
2021-04-24 04:51:13 +02:00
Gleb Mazovetskiy
4f31703b73 🔨 CMake Vita: Set pkgconfig path and fix prefix
1. Make CMake use VitaSDK's pkg-config wrapper.
   Fix sent upstream: https://github.com/vitasdk/vita-toolchain/pull/182

2. Work around broken `prefix` in `pkgconfig` files:
   https://github.com/vitasdk/vdpm/issues/69
2021-04-24 04:51:13 +02:00
Trihedraf
0f583bb7ed Bring Linux_SDL1 inline with other Linux builds 2021-04-23 02:31:45 +02:00
Trihedraf
b71c5aa0d1 Move to Debian:Testing, remove redunant cmake --build commands 2021-04-23 02:31:45 +02:00
Gleb Mazovetskiy
7cf4f2142d
CTest: Output details on failure 2021-03-31 02:13:49 +02:00
Trihedraf
0f7b2682b2 adjust AppRun file to updates in #1253. move linux packaging and appimage commands to helper scripts 2021-03-24 18:01:20 +01:00
Trihedraf
e55d226326 update appimage to use devilutionx.mpq and charissilb.ttf 2021-03-24 18:01:20 +01:00
Anders Jenbo
629339bbd9 👷 Build Switch test builds as nightly
Builds are now working correctly without optimization on Switch
2021-03-22 22:29:20 +01:00
Anders Jenbo
54c54ac5dd 👷 Update switch build container 2021-03-22 22:02:18 +01:00
Trihedraf
33e550ceb6 Build an AppImage for Linux on CircleCi 2021-03-22 10:07:53 +01:00
Trihedraf
2472058bb4 Change Linux packaging to match release packaging and move devilutionx.mpq to root of package 2021-03-10 21:42:03 +01:00
Trihedraf
582508a123 Add Linux Packages 2021-03-09 18:57:45 +01:00
Anders Jenbo
9737ccfcfe
Limit CI builds to 2 cpus (#1116)
CI only provides us 2 CPUs but nproc reports it as 32 leading to some bad balancing and some tiles stalled builds
2021-03-06 13:25:21 +01:00
Anders Jenbo
5cd96dd1b6 Add git to Vita build server
This is reguired for fetching the version from the git tags
2021-03-01 11:52:26 +01:00
Epifanov Ivan
f49b55cbe1
Migrate to vitasdk 2021-02-22 22:02:09 +01:00
Ivan Epifanov
5f90a96b23 [vita] Add CircleCI suite for vita 2021-02-21 20:30:34 +01:00
MrHuu
d56cc3cb40 [3DS] CMake instructions 2021-02-21 00:31:13 +01:00
Trihedraf
b12a1cb53e add CPack zips for Windows 2021-02-20 08:31:07 +01:00