Commit graph

53 commits

Author SHA1 Message Date
Pierre Wendling fa8fba3812 Add clang-tidy config and CMake/CI support. 2023-02-06 21:02:25 -08:00
Anonymous Maarten 53d434fd24 cmake: add CPack support for creating binary archives 2023-01-31 01:59:21 +01:00
Anonymous Maarten 64c97906c9 ci: fail CMake configuration on warning 2023-01-31 01:59:21 +01:00
Anonymous Maarten d45f0a0566 ci: upload artifacts for main workflow 2023-01-31 01:59:21 +01:00
Anonymous Maarten 13c294eec3 cmake: add support for creating Apple frameworks with CMake 2023-01-31 01:59:21 +01:00
Sam Lantinga 58763b608b Cancel current CI actions when a PR is updated 2022-12-28 13:10:27 -08:00
Sam Lantinga 38de07d9e4 Cancel current CI actions when a PR is updated 2022-12-04 10:05:54 -08:00
Sam Lantinga 39e39f335e Only cancel previous builds when iterating on pull requests 2022-12-04 09:50:51 -08:00
Sam Lantinga f9ad84fd5d Cancel current CI actions when a PR is updated
This should help get build feedback more quickly when someone is iterating on a PR
2022-12-04 09:11:38 -08:00
Sam Lantinga 2af4f74e1c Remove sdl3.m4 and sdl3-config, and document pkg-config as the recommended replacement
Fixes https://github.com/libsdl-org/SDL/issues/6639
2022-11-27 14:11:06 -08:00
Anonymous Maarten c7b5ff81e6 ci: no more need for autoconf and make 2022-11-25 15:37:30 -08:00
Ozkan Sezer 7b21eaddce remove autotools build system
- TODO: update INSTALL.txt to replace the autotools configure
        instructions with cmake.
- TODO: update make build system to provide an equivalent to
        autotools' `make dist` ?
- TODO: update / revise github actions, replace autotools-only
        ones with cmake (e.g.: vmactions.yml for FreeBSD.)

Reference issue: https://github.com/libsdl-org/SDL/issues/6571
2022-11-25 15:37:30 -08:00
Simon McVittie 7ef38beb7e build: Simplify library name
We want the library to come out as libSDL3.so.0 on Unix, or something
similar on other platforms. There's no need to have libSDL3-3.0.so.0,
because next time we intentionally break the API it should become libSDL4
anyway.

Partially implements #5626.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-11-25 12:57:32 -08:00
Anonymous Maarten b9e45ae0bb ci: correctly print install tree of CMake install 2022-11-23 19:18:26 +01:00
Ozkan Sezer 016b757311 reverted jack audio backend removal. 2022-11-23 06:50:20 +03:00
Ozkan Sezer cdb54ad21e removed arts, esd, fusionsound, nas, paudio, sndio, sunaudio, winmm audio backends. 2022-11-22 19:51:56 +03:00
Anonymous Maarten ea21628045 ci: replace references to SDL2 with SDL3 2022-11-22 06:45:46 +01:00
Simon McVittie d4d99e8c29 workflows: Check we can screen-scrape the SDL_REVISION from Linux builds
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-10-22 09:27:10 -07:00
Simon McVittie 4ca5ea5b7e build: Add a mechanism to mark builds with vendor info
Downstream distributors can use this to mark a version with their
preferred version information, like a Linux distribution package version
or the Steam revision it was built to be bundled into, or just to mark
it with the vendor it was built by or the environment it's intended to
be used in.

For instance, in Debian I'd use this by configuring with:

    --enable-vendor-info="${DEB_VENDOR} ${DEB_VERSION}"

to get a SDL_REVISION like:

    release-2.24.1-0-ga1d1946dc (Debian 2.24.1+dfsg-2)

which gives a Debian user enough information to track down the patches
and build-time configuration that were used for package revision 2.

In Autotools and CMake, this is a configure-time option like any other,
and will go into both SDL_REVISION (via SDL_revision.h) and
SDL_GetRevision().

In other build systems (MSVC, Xcode, etc.), defining the
SDL_VENDOR_INFO macro will get it into the output of SDL_GetRevision(),
although not SDL_REVISION.

Resolves: https://github.com/libsdl-org/SDL/issues/6418
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-10-22 09:27:10 -07:00
Pierre Wendling eea9f638e2 CI: Update to actions/checkout@v3. 2022-10-12 16:31:02 -07:00
Anonymous Maarten 151c23415e ci: Add SDL_WERROR to a few configurations 2022-10-08 23:41:07 +02:00
Ryan C. Gordon f648c000bd
build: Fixed some references to renamed test-versioning.sh 2022-09-28 09:37:21 -04:00
Cameron Cawley 6e9a606a8e Add more mingw-w64 build workflows 2022-07-30 14:37:41 -07:00
Cameron Cawley 3bdc10f842 Update the list of required Ubuntu packages, and add Ubuntu 22.04 workflows 2022-07-30 13:07:54 -07:00
Pierre Wendling 36d456797b CI: Fix CMake workflow.
- Add quotes the OSX_ARCHITECTURES list.
- Extract the flag in the matrix.
2022-07-26 23:05:55 +03:00
Pierre Wendling c37c1f7ac3 CI: Make macOS universal build with CMake. 2022-07-26 12:30:14 -07:00
Anonymous Maarten 78a3751659 cmake+ci: fix+test sdl2-config + sdl2.pc for all supported platforms 2022-06-23 14:17:38 +02:00
Cameron Cawley 12f9bcd2f4 Build tests for all CMake platforms on CI 2022-06-15 10:14:25 -07:00
Anonymous Maarten 69df26a0d4 ci: test clang+MinGW on CI 2022-06-14 20:15:34 -07:00
Anonymous Maarten f858d1305a ci: test installed packages using CMake 2022-06-03 12:41:36 -07:00
Simon McVittie 6e6e425e23 workflows: Do the equivalent of Automake make distcheck
The official source code release isn't much use unless it contains
everything that users and downstream distributions need to do a
new build, so check that it does.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-09 08:47:02 -07:00
Simon McVittie c244bbc515 workflows: Install and run GNOME-style installed-tests
This is currently only done for the Linux Autotools build. The CMake
build does not add a significant amount of extra test coverage, and
Github Workflows run in an environment where `cmake` and `sudo cmake`
point to different executables, which makes it awkward to install into
/usr/local from CMake.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 18:17:55 -07:00
Simon McVittie ecf1e15fec workflows: Parallelize Linux Autotools and CMake builds
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 18:17:55 -07:00
Simon McVittie dba79ade59 workflows: Run build-time tests
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 18:17:55 -07:00
Simon McVittie a459479769 workflows: Only run cmake --install on Unix platforms
The syntax used in this step assumes a Unix shell.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 10:34:21 -07:00
Simon McVittie 79a16da61e workflows: Change how we make CMake verbose
Some CI workers don't seem to understand `cmake -v`, and Windows' shell
doesn't understand `VERBOSE=1 cmake`.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 10:34:21 -07:00
Simon McVittie 4da47601be workflows: Remove redundant cmake --build
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 10:34:21 -07:00
Simon McVittie 2a8297e427 workflows: Add a test to assert that all the version numbers agree
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 09:55:35 -07:00
Simon McVittie 50bc013695 workflows: Tell CMake and Makefile.in to show compiler command-lines
This is usually desirable for batch processing: it lets us see exactly
what is happening in the logs.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 09:55:35 -07:00
Simon McVittie 85a77fb5fa workflows: List files installed by CMake
This lets us compare them with Autotools more easily.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 08:34:35 -07:00
Simon McVittie 90da399bbb workflows: Add a workflow to exercise the Autotools build on Linux
This builds the tests, but does not run them (for now).

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-04 08:34:35 -07:00
Cameron Cawley 550b8377bc Combine the MSVC and UWP workflows 2022-02-28 09:04:33 -08:00
pionere 0af391cbe9 build with Release config on push and pull_request 2022-01-28 20:40:19 -05:00
hgs3 6b66542e7b Fixing compilation errors for VS2019 Clang toolset (fixes #4702) 2021-11-18 03:28:00 +03:00
Cameron Gutman e9dae813d9 CI: disable fail-fast to avoid aborting build when one platform fails 2021-11-08 20:14:08 -06:00
Cameron Gutman 0d631c741f CI: Build tests for Windows, macOS, and Linux 2021-10-31 17:57:40 -07:00
Cameron Cawley 21c1082786 Add MinGW-w64 builds to GitHub Actions 2021-09-20 08:58:43 -07:00
Christian Rauch f4f9c6bc55 CI: add 'libdecor' dependency from upstream 2021-07-25 14:54:12 -07:00
Cameron Gutman 9170c0c7f8 CI: Add Windows ARM64 builds 2021-07-15 17:10:50 -07:00
scribam 32e736d260 CI: add github actions for windows x86 2021-07-10 13:21:09 -04:00