Commit Graph

65 Commits

Author SHA1 Message Date
Anonymous Maarten
c4ca64deaf ci: do 'brew update' & don't run dependent checks on installed things 2023-11-26 06:01:26 +01:00
Anonymous Maarten
61c39ce848 ci: re-enable Intel compilers on ci 2023-11-09 18:05:15 +01:00
Anonymous Maarten
3abb464f10 ci: disable Intel compilers 2023-10-02 09:13:35 +02:00
Anonymous Maarten
5c1a91a4e1 ci: make sure perl is installed + build docs with MSVC toolchain 2023-09-28 23:32:35 +02:00
Anonymous Maarten
a6bc6b882c ci: always upload the artifacts 2023-09-25 18:02:40 +02:00
Anonymous Maarten
2fb266e0a4 ci: run tests in parallel 2023-09-08 09:05:58 -04:00
Anonymous Maarten
c2f388fd88 cmake: add SDL_HIDAPI_LIBUSB_SHARED option + test on ci 2023-08-14 19:37:58 +02:00
Anonymous Maarten
ea60474c65 cmake: don't build SDL3-static Apple framework 2023-08-01 01:35:57 +00:00
Anonymous Maarten
eda2824e6f ci: move 'set -eu' to after source_cmd 2023-07-14 15:00:52 +02:00
Anonymous Maarten
e66f4fa71c ci: test with (old) Intel compiler + (new) oneAPI compiler 2023-03-27 06:12:49 +00:00
Anonymous Maarten
d3b7308ee7 ci: install pkg-config on Macos runner 2023-02-16 13:59:23 -08:00
Anonymous Maarten
e203046a5c cmake+ci: build shared and static libraries on ci 2023-02-16 13:59:23 -08:00
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