C-Stick mapping is incorrect for the 3ds platform.
Currently left/right is not functional,
up/down moves the cursor left/right.
This corrects the behavior.
Congrats on the new release!
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
1. Run Docker as the current user instead of root,
removing the need to chown directories.
2. Copy `devilutionx.info` via CMake, removing the need to do it
manually.
3. Cleanup `prep.sh` somewhat.
1. Platform and toolchain files are now all under `platforms/`, with a
single `CMake/platforms/${platform}.cmake` per platform.
2. Custom functions/macros are under `functions/`.
3. Finder modules are in `/finders`.
Changes how dependency options are handled and moves them out of
`CMakeLists.txt`.
Major changes:
1. The static default now takes `TARGET_SUPPORTS_SHARED_LIBS` into account
2. The `DIST` setting no longer affects the static default.
3. The static option is now visible for system dependencies as well.
(it was previously hidden by `cmake_dependent_option`).
4. The auto-detection mechanism for `libfmt` and `SDL_image` only
applies if the setting has not been set.
5. SDL2 on Android is now also linked statically,
resulting in a 1.1 MiB smaller APK.
When using non-system dependencies, the default should always be static,
as there are 2 main use cases for these:
1. Dependencies that we must currently vendor because our forks have
significant changes that are not yet merged/released upstream.
2. Platforms that have no system packages, such as Android and iOS.
In both cases, static linking is the most appropriate default.
1. Organize and comment on various options that we set.
2. Disable all system dependencies explicitly instead of relying on
auto-detection for some of them.
Previously, only the translations were copied for Android at build time.
The other assets were copied only at configure time.
Replaces Android-specific handling with a general mechanism to override
the build-time assets directory.