Anonymous Maarten
f1202fccdc
cmake: create SDL3::SDL3-shared for VC and Xcode devel package
2023-02-20 00:43:53 +01:00
Anonymous Maarten
dc138ee3d4
cmake: SDL3-shared target will always be a shared target
2023-02-17 23:42:03 +01:00
Ozkan Sezer
272010b612
cmake: really fix detection of pthread_setname_np() on Apple platforms.
2023-02-13 11:56:10 +03:00
Ozkan Sezer
f7f61af12b
cmake: fix detection of pthread_setname_np() on Apple platforms.
2023-02-13 11:55:40 +03:00
Anonymous Maarten
236d26b480
cmake: add `-F <SDL3-framework-parent-folder>` compile option in CMakeLists.txt
2023-02-13 05:26:57 +01:00
Anonymous Maarten
d0b39890d2
cmake: include_guard() is not needed
2023-02-13 04:55:46 +01:00
Anonymous Maarten
ff82341ce9
cmake: allow find_package from build directory (requires CMake 3.26)
2023-02-09 17:20:28 -08:00
Anonymous Maarten
cc0fa00049
cmake: include directories of (generated) dependencies as SYSTEM
2023-02-09 17:20:28 -08:00
Pierre Wendling
fa8fba3812
Add clang-tidy config and CMake/CI support.
2023-02-06 21:02:25 -08:00
Anonymous Maarten
0a3d038ff7
cmake: fix installed SDL3::SDL3_test + test on ci
2023-01-31 05:29:38 +01:00
Anonymous Maarten
25b723cc82
cmake: detect Emscripten architecture as emscripten
2023-01-31 01:59:21 +01:00
Anonymous Maarten
53d434fd24
cmake: add CPack support for creating binary archives
2023-01-31 01:59:21 +01:00
Anonymous Maarten
23c2c15a70
cmake: capitalize SDL3::Headers target
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
Anonymous Maarten
93c25e650c
cmake: create SDL3::headers for include path + no exported CMake variables
2023-01-31 01:59:21 +01:00
Anonymous Maarten
5690dfb65b
cmake: don't install Android.mk files for Android
2023-01-31 01:59:21 +01:00
Anonymous Maarten
19d162281c
cmake: detect cpu architecture in SDL_DetectCPUArchitecture
...
Stop looking for arch, when one is found
2023-01-31 01:59:21 +01:00
Anonymous Maarten
9cf34908a1
cmake: pass VERSION to project() + don't use SDL_VERSION
2023-01-31 01:59:21 +01:00
Anonymous Maarten
bb3a60bce5
cmake: move include(sdlfind.cmake) to main cmake script
2023-01-25 00:23:05 +01:00
Frank Praznik
423a82cd4b
wayland: Enforce or override libdecor minimum window size
...
libdecor plugins can change the min/max window size values internally to enforce a minimum window size, and errors and crashes can result if the window size is below the internal limit.
On versions of libdecor >= 0.1.1, the minimum width and height can be queried and the minimum required window size will be enforced. The application requested window size is still respected, however, the actual window may be slightly larger than the drawable area to accommodate the required libdecor minimum size.
On version 0.1.0 of libdecor, which lacks the function to retrieve the minimum size, the internal limits are overridden before committing a frame, so that the internal limits always match the window size as a workaround, even if the window is technically smaller than the plugin would normally allow.
2023-01-18 10:28:01 -08:00
Anonymous Maarten
6d11515873
cmake: make sdl3.pc relocatable
2023-01-15 12:37:51 -08:00
Anonymous Maarten
0a1479d58c
cmake: fix sdl3.pc for Nintendo 3DS + add to test matrix
2023-01-15 17:46:36 +01:00
Sam Lantinga
8238a128c3
Fixed build on Steam Link hardware
2023-01-13 16:37:56 -08:00
Sam Lantinga
bf53183c8b
Fixed building on Raspberry Pi
2023-01-13 14:20:57 -08:00
Anonymous Maarten
a3ae26ddd0
cmake: convert spaces in PTHREAD_CFLAGS to ';'
2023-01-13 19:02:54 +01:00
Anonymous Maarten
3d67b8d026
cmake: convert spaces in USB_CFLAGS to ';'
2023-01-13 18:40:49 +01:00
Sam Lantinga
7c16fe6d69
Default to use the built-in EGL definitions
2023-01-12 16:17:00 -08:00
Anonymous Maarten
049e6ff408
cmake: haiku uses CXX code, so enable it in C-only project
2023-01-10 02:39:09 +01:00
Anonymous Maarten
62297e7da5
cmake: avoid string(SUBSTRING) on short strings
...
CMake 3.1 and older throws an error when the input string is too short
2023-01-09 15:44:50 +01:00
Ozkan Sezer
0d8c22acd2
cmake (CheckPTHREAD): remove _GNU_SOURCE define after bug #7026 fix
2023-01-09 01:30:37 +03:00
Anonymous Maarten
f53d797cca
cmake: generate git hash using GetRevisionDescription CMake module
...
This allows the build system (ninja/make/VS) to detect whether the current
checkout git commit has changed. If so, SDL_revision.h will be updated.
2023-01-08 18:20:56 +01:00
Anonymous Maarten
e85e11b211
cmake: avoid adding full path to SDL_EXTRA_LIBS
...
This avoids placing e.g. -l/path/to/libX11.so in sdl3.pc when configuring with -DSDL_X11_SHARED=OFF
2023-01-08 15:57:51 +01:00
Anonymous Maarten
dfcd8d5835
cmake: remove unused function 'listtostrrev'
2023-01-08 15:57:51 +01:00
Anonymous Maarten
77025417dd
cmake: add SDL_ prefix to EXTRA_LIBS/EXTRA_LDFLAGS
2023-01-08 15:57:51 +01:00
Anonymous Maarten
bffbfa572c
cmake: rename SDL_STATIC_LIBS -> SDL_PC_STATIC_LIBS
2023-01-08 15:57:51 +01:00
Anonymous Maarten
053c37583c
cmake: avoid modifying CMAKE_C_FLAGS
2023-01-08 15:57:51 +01:00
Anonymous Maarten
5555284a70
cmake: use target_compile_options to use -idirafter for khronos headers
2023-01-08 15:57:51 +01:00
Anonymous Maarten
0a4420e02f
cmake: rename cmake variables to include _PC_ as they are meant for pkgconfig file
2023-01-08 15:57:51 +01:00
Anonymous Maarten
373a6464c8
cmake: collect cflags in sdl-build-options and sdl-global-options
2023-01-08 15:57:51 +01:00
Anonymous Maarten
7150d6b05a
cmake: add SDL3 to include path
...
This reverts parts of 9f2ca87
2022-12-29 09:01:56 -08:00
Sylvain
aa46ff8f4b
Remove SDL_WINDOW_SHOW flag, as redundant with SDL_WINDOW_HIDDEN
2022-12-28 12:16:57 -08:00
Sylvain
ab0c5cf07d
Fix compilation
2022-12-27 17:25:31 +01:00
avafinger
12e0e6d130
SDL3 with Hardware Acceleration for ROCKCHIP platform (mali blob)
2022-12-26 08:50:51 -08:00
Anonymous Maarten
8f9227e4be
cmake: use CMakePushCheckState to handle check states
2022-12-19 09:19:45 -08:00
Anonymous Maarten
653893f188
cmake: declutter root + remove obsolete variables
2022-12-19 09:19:45 -08:00
Anonymous Maarten
39a7abad7a
cmake: lowercase all macros
2022-12-19 09:19:45 -08:00
Anonymous Maarten
289b024715
cmake: add function to print dict list
2022-12-19 09:19:45 -08:00
Daniel Gibson
c3bf253b09
Remove SDL3_main from build systems, remove most of src/main/*
...
XCode is still missing, and src/main/winrt/SDL3-WinRTResource*
still need to find a new home
2022-12-15 08:01:01 -08:00
Daniel Gibson
22e22ba196
Add SDL_main.h includes to tests
...
.. including cmake/test/*.c, whatever that does
(this is needed now because SDL.h doesn't include SDL_main.h anymore)
2022-12-15 08:01:01 -08:00
Anonymous Maarten
9eb4d1f020
cmake: use FindALSA.cmake to find ALSA libraries
...
Co-authored-by: nfarid <54642193+nfarid@users.noreply.github.com>
2022-12-12 01:37:01 +01:00
Jan Engelhardt
1878674477
build: add symbol versioning for SDL
...
If a program built against one version of SDL is run in an
environment where there is an earlier version of the SDL .so library
installed, the result varies depending on platform configuration; in
the best case, it won't start at all, at worst it aborts in the
middle of the user doing "something important" (systems implementing
lazy symbol resolution). verdefs on the other hand are always checked
on startup.
The dependency information present in programs and shared libraries
is not only of value to the dynamic linker, but also to a
distribution's package management. If the dynamic linker is able to
tell that a program is not runnable per the above, a package manager
is able to come to the same conclusion — and block the installation
of a nonfunctional program+library ensemble.
Because there are a lot more symbols than there are libraries (I am
going to throw in "10^4 to 1 or worse"), package managers generally
do not evaluate symbols, but only e.g. the SONAME, NEEDED and VERNEED
fields/blocks. Because the SONAME is the same between two SDL
versions like 2.0.24, and 2.0.26, everything rests on having verdefs.
This patch proposes the addition of verdefs.
2022-12-02 13:05:37 -08:00
Ozkan Sezer
bb8adf74e0
cmake/sdlchecks.cmake: make it diff smaller against SDL2
2022-12-02 03:01:02 +03:00
Sam Lantinga
1e2dfdb019
Removed the OpenGL ES 1.0 2D render implementation
...
In SDL3 we plan to make more use of shaders in the 2D render API, and this minimizes the number of platforms we have to consider for new features. OpenGL ES 2.0 or newer is supported on all modern iOS and Android devices.
2022-11-30 13:39:37 -08:00
Anonymous Maarten
7e7a8e76a5
cmake: move platform detection to cmake/sdl/paltform.cmake for re-use by SDL2-compat
2022-11-29 21:10:56 +03:00
Sam Lantinga
c2432f8d0d
Rename SDLmain to SDL_main and SDLtest to SDL_test for consistency with other SDL libraries
2022-11-28 10:57:59 -08:00
Anonymous Maarten
9f2ca87504
build: don't add SDL3 subfolder to include path for external projects
2022-11-27 14:33:13 -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
Sam Lantinga
63f307fe1f
Remove SDL_config.h from the public headers
...
The SDL headers are no longer dependent on the build configuration.
Fixes https://github.com/libsdl-org/SDL/issues/6643 and https://github.com/libsdl-org/SDL/issues/6641
2022-11-26 04:48:36 -08:00
Anonymous Maarten
4574c16178
cmake: test for lsx and lasx intrinsics for loongarch
2022-11-25 21:50:08 +01:00
Anonymous Maarten
d0e14008b5
cmake: find libudev library so it gets priority
2022-11-25 21:36:53 +01:00
Anonymous Maarten
cd13600944
cmake: don't reset check state after pushing state
2022-11-24 23:33:54 +01:00
Anonymous Maarten
622f64dff2
cmake: add X11 include dir to check dirs
2022-11-24 20:59:02 +01:00
Sam Lantinga
a635a485bc
Re-added WinRT support until we're sure that it's no longer being used
2022-11-23 10:41:43 -08:00
Ozkan Sezer
34231f5ba0
reverted opengles removal.
2022-11-23 18:50:02 +03:00
Ozkan Sezer
016b757311
reverted jack audio backend removal.
2022-11-23 06:50:20 +03:00
Ozkan Sezer
dc2a3e06e9
removed WinRT support.
2022-11-22 23:36:24 +03:00
Ozkan Sezer
7df102d220
reverted sndio backend removal.
2022-11-22 22:04:10 +03:00
Ozkan Sezer
30b1ab2add
removed opengles.
2022-11-22 21:48:40 +03:00
Ozkan Sezer
3aea865cdf
removed directfb support.
2022-11-22 20:45:45 +03:00
Ozkan Sezer
cdb54ad21e
removed arts, esd, fusionsound, nas, paudio, sndio, sunaudio, winmm audio backends.
2022-11-22 19:51:56 +03:00
Ozkan Sezer
8d6fda4810
removed os2 support & support for building SDL with watcom.
2022-11-22 19:18:47 +03:00
Sam Lantinga
2c4159b99a
First pass at changing SDL 2.0 to SDL 3.0
2022-11-21 20:28:58 -08:00
Hubert Maier
5dc93451d2
JANITORIAL : Correct some more spelling mistakes ( #6489 )
2022-11-06 11:49:37 -08:00
Anonymous Maarten
61297f703a
cmake: on Apple, check for presence of an OBJC compiler
2022-11-03 15:03:47 +01:00
Anonymous Maarten
04bcc910e9
cmake: don't do enable_language(OBJC)
...
When SDL is included as a subproject, the following error might appear:
```
CMake Error: Error required internal CMake variable not set, cmake may not be built correctly.
Missing variable is:
CMAKE_OBJC_COMPILE_OBJECT
```
This is probably because the master project does not see certain OBJC related variables
2022-11-03 15:03:47 +01:00
Anonymous Maarten
c3b13346e0
On x86, pass -nodefaultlib to linker when wanting to avoid the C library
2022-10-22 09:28:00 -07:00
Brad Smith
f37db957f8
Use -lpthread on OpenBSD
2022-10-21 16:53:26 -07:00
Anonymous Maarten
0823b5973a
cmake: fix finding wayland-libdecor
...
It was broken in 11d53c84a7
2022-10-21 15:31:43 +02:00
Anonymous Maarten
11d53c84a7
cmake: use pkg-config's library dirs as hint for finding a shared library
2022-10-20 19:01:28 +02:00
Brad Smith
f4e3af15a1
Simplify OSS test by removing OpenBSD specific location of the soundcard.h header
...
OpenBSD has long since stopped using OSS. Remove checking for OpenBSD specific header.
2022-10-17 07:18:47 -07:00
Brad Smith
5ec1cef6b5
Further fixes for the sndio CMake detection
2022-10-07 11:55:00 +03:00
Brad Smith
f48823181b
Use the pkg-config file when checking for sndio.
2022-10-06 19:09:10 -07:00
Anonymous Maarten
81d3266766
cmake: make sure check_* uses 2 different variables in CheckX11
2022-09-27 03:47:20 +03:00
Anonymous Maarten
a9524ffa9d
cmake: make sure check_c_source_compiles uses 2 different variables in CheckOSS
2022-09-27 03:47:20 +03:00
Anonymous Maarten
bfecd78159
cmake: use check_symbol_exists to check dlopen + need for dl library
2022-09-27 03:47:20 +03:00
Ozkan Sezer
098a7a043e
add missing quotes to the fallback CHECK_OBJC_SOURCE_COMPILES macro
...
Closes: https://github.com/libsdl-org/SDL/issues/6268 .
2022-09-21 10:37:02 +03:00
Anonymous Maarten
3b20e0ecef
cmake: only add -Wl,--undefined=WinMain when building an executable
2022-09-19 05:00:24 +03:00
Anonymous Maarten
6dfd7a17e1
cmake: forward HAVE_LIBUSB to HAVE_HIDAPI_LIBUSB
2022-09-10 15:53:11 +02:00
Anonymous Maarten
c3495ec6ea
Fix value of SDL_HIDAPI_DISABLED
2022-09-10 14:11:19 +02:00
Anonymous Maarten
19b13aab98
cmake: mark hidapi as disabled when not found
2022-09-10 13:41:29 +02:00
Sam Lantinga
3f89d1704d
Fixed building with libusb not dynamicaly loaded
2022-09-01 11:30:02 -07:00
Anonymous Maarten
17b329d199
cmake: enable disabing hidapi
2022-08-05 13:06:51 -07:00
Anonymous Maarten
a4e6f3ca9d
cmake: when there are alternatives, don't use libusb by default
2022-08-05 13:06:51 -07:00
Cameron Cawley
6e9a606a8e
Add more mingw-w64 build workflows
2022-07-30 14:37:41 -07:00
Anonymous Maarten
430c39082f
ci: test 'sdl2-config --static-libs' + 'pkg-config sdl2 --static' on ci
2022-07-26 14:24:36 -07:00
Anonymous Maarten
e5698d1394
cmake: allow cmake re-configuration after installation of x11 library
...
check_include_path is not meant to be used to check for presence of a
library. This is because a BOOL is cached.
Avoid this caching by using find_file.
`find_file` caches a patch instead of a bool and will always run when
the result failed.
2022-07-21 18:38:12 +02:00
Anonymous Maarten
9ad3711a6b
cmake: only enable x11_xss/x11_xrandr/x11_xfixes when its lib is available
2022-07-21 15:19:19 +02:00
Anonymous Maarten
aa7a6c0ea6
cmake: only enable x11_xcursor and x11_xinput when its library is available
2022-07-21 14:38:57 +02:00
Anonymous Maarten
fa39f73552
cmake: add generated files to a custom target ( #5851 )
...
This way, headers are only generated once .
2022-06-26 23:34:30 +02:00
Anonymous Maarten
6dcb2868b0
cmake: avoid use of possible non-available XEXT_LIB
2022-06-23 14:17:38 +02:00