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
Anonymous Maarten
78a3751659
cmake+ci: fix+test sdl2-config + sdl2.pc for all supported platforms
2022-06-23 14:17:38 +02:00
Anonymous Maarten
b19099d557
cmake: use find_package(SampleRate) to find samplerate + allow targets
2022-06-16 16:47:19 -07:00
Anonymous Maarten
86f50ae7d7
ci: Test cmake build script on Android
...
android
2022-06-15 11:11:49 -07:00
Anonymous Maarten
18206446bf
cmake: collect SDL_LIBS as list + export PKG_DIRECTFB_LDFLAGS
2022-06-15 11:11:49 -07:00
Anonymous Maarten
32df5aeb3d
Check result of FindLibraryAndSONAME before use
2022-06-15 05:33:40 +03:00
Anonymous Maarten
afc350eeff
cmake: do 's#set(SOURCE_FILES #list(APPEND SOURCE_FILES #g'
2022-06-15 05:33:40 +03:00
Anonymous Maarten
e99a7144ff
Use list(APPEND EXTRA_LIBS) everywhere
2022-06-13 10:05:30 -07:00
Anonymous Maarten
5abd676917
Allow empty default values to the dep_option macro
2022-06-07 09:17:44 -07:00
Anonymous Maarten
9ff8f29f43
cmake: Add mini-SDL2 CMake project to test SDL2 prefixes
2022-06-03 12:41:36 -07:00
ShuangLiu1992
f4fc4719a5
fix CheckCOCOA on modern CMake
...
Modern CMake doesn't need "LANGUAGE C" for Objective-C
set_source_files_properties(${COCOA_SOURCES} PROPERTIES LANGUAGE C) should be removed fro video/cocoa/*.m as well otherwise project won't compile
see also d3cc5764c0
2022-05-21 09:53:50 -07:00
Ryan C. Gordon
7d7ec9c951
x11: Remove XVidMode and Xinerama support.
...
Fixes #1782 .
2022-04-26 23:17:13 -04:00
Ethan Lee
13337e17a5
wayland: The rest of the wayland-client 1.18 requirement... Git, please
2022-03-23 13:27:01 -04:00
Joao Paulo Magalhaes
57df1dfce6
Video: do not use hardcoded VIVANTE and VDK libraries
2022-03-23 08:49:29 -07:00
Ozkan Sezer
61a93d3c46
minor whitespace cleanup.
2022-03-15 23:10:02 +03:00
Ryan C. Gordon
3ab739afff
cmake: Make test code use proper C main functions.
...
Fixes #5021 .
2022-03-13 12:10:52 -04:00
Nick Cao
f03215bc70
fix linking with SDL_PULSEAUDIO_SHARED=OFF and SDL_X11_SHARED=OFF
2022-03-07 12:55:50 +03:00
Luke Street
0cb39ed468
cmake: Fix SDL_LIBUSB_DYNAMIC soname
2022-02-07 14:22:31 -05:00
Ozkan Sezer
9403543671
cmake: enable_language(OBJC) only for APPLE
2022-02-05 18:50:00 +03:00
Ozkan Sezer
3c9ac4489e
cmake: enable_language(OBJC) to fix check_objc_source_compiles().
2022-02-05 18:45:50 +03:00
Ozkan Sezer
686a0f3456
cmake: include CheckOBJCSourceCompiles for cmake >= 3.16
...
c.f. bugs #5011 and #3912
2022-02-05 18:28:24 +03:00
Max Krummenacher
c3a7cc34fb
cmake: sdlchecks.cmake: pass cflags to the appropriate cmake variable
...
If egl.pc sets at least two macros as the i.MX Vivante driver does, e.g.:
| Cflags: -I${includedir} -DLINUX -DWL_EGL_PLATFORM
then we get the following error during configuration:
| -- Performing Test HAVE_OPENGL_EGL
| CMake Error: Parse error in command line argument: WL_EGL_PLATFORM
| Should be: VAR:type=value
If one changes to add a value to the macro, e.g.
| Cflags: -I${includedir} -DLINUX=1 -DWL_EGL_PLATFORM=1
then cmake does not error out but the macro is not passed to the
C compiler.
CMAKE_REQUIRED_FLAGS is the wrong variable to pass the CFLAGS in,
CMAKE_REQUIRED_DEFINITIONS should be used.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2022-01-11 09:00:37 -08:00
Ozkan Sezer
b265677610
cmake: initial attempt at adding os/2 support.
2022-01-11 11:33:02 +03:00
Ryan C. Gordon
7967c97618
cmake: Do a more thorough test for the old bcm Raspberry Pi libraries.
...
Fixes #5132 .
2022-01-05 21:02:38 -05:00
Ozkan Sezer
398c0fdff0
cmake: simplify wayland-scanner 1.15 detection.
2021-12-18 23:56:10 +03:00
Wohlstand
54d2451069
sdlchecks.cmake: Small tune by @sezero
2021-12-18 20:32:20 +03:00
Wohlstand
6c9907dd0e
Fixed build on CMake older than 3.7
...
I found this accidentally when I tried to use CMake 3.0 to build this.
2021-12-18 06:28:22 -08:00
Wohlstand
3861afacf5
Fixed build on CMake older than 3.13
...
Fixes #5096
2021-12-18 06:28:22 -08:00
Ozkan Sezer
03019c912a
autotools, cmake: tighten Xfixes check && explicitly test BarrierEventID
...
Apparently the older versions of libXi doesn't have it. Fixes the build
break issue reported at:
4b42c05ba1 (commitcomment-61427659)
2021-12-06 20:37:52 +03:00
Ozkan Sezer
5a0ea7fb17
Check for O_CLOEXEC definition in fcntl.h at configuration time,
...
If not available, define it internally as 0 (in SDL_internal.h).
Define it as available for macOS >= 10.7 in SDL_config_macosx.h.
2021-11-27 19:23:10 +03:00
Cameron Gutman
43d1b42a5a
cmake: Sync build config options with autotools
...
- SDL_CLOCK_GETTIME now defaults to ON to match autotools build
- Add detection of float.h and Xdbe
- Fix detection of pthread_setname_np() (requires _GNU_SOURCE)
- Move SDL_USE_IME definition into SDL_config.h.cmake
2021-11-16 16:51:38 -08:00
Ozkan Sezer
7d3045f273
minor whitespace tidy-up.
2021-11-16 23:51:40 +03:00
Ozkan Sezer
68ffd24c58
autotools, cmake: don't define SDL_JOYSTICK_HIDAPI in CheckHIDAPI()
2021-11-16 23:37:20 +03:00
Sam Lantinga
bbac1e9add
Don't include pthreads code when threads are disabled
...
Fixes https://github.com/libsdl-org/SDL/issues/4950
2021-11-14 20:34:41 -08:00
Ozkan Sezer
fa3330baec
autotools, cmake: test Xfixes along with XInput2.h:
...
because we use Xfixes with XIBarrierReleasePointer
2021-11-12 12:55:50 +03:00
Sam Lantinga
a0f8afb599
Separated the HIDAPI subsystem from HIDAPI joysticks
...
You can now disable HIDAPI joysticks while retaining the HIDAPI SDL API
2021-11-11 09:16:44 -08:00
Ethan Lee
4b42c05ba1
video: Add SDL_SetWindowMouseRect.
...
This API and implementation comes from the Unreal Engine branch of SDL, which
originally called this "SDL_ConfineCursor".
Some minor cleanup and changes for consistency with the rest of SDL_video, but
there are two major changes:
1. The coordinate system has been changed so that `rect` is _window_ relative
and not _screen_ relative, making it easier to implement without having
global access to the display.
2. The UE version unset all rects when passing `NULL` as a parameter for
`window`, this has been removed as it was an unused feature anyhow.
Currently this is only implemented for X, but can be supported on Wayland and
Windows at minimum too.
2021-11-08 14:16:54 -08:00
Ozkan Sezer
1739ef3ee1
sdlchecks.cmake: remove libusb/hid.c and SDL_hidapi.c additions to srcs
2021-11-08 22:00:02 +03:00
Joel Winarske
fdb27e0b08
cmake: Use host wayland-scanner only ( #4873 )
2021-10-25 12:04:07 -04:00