CMakeLists.txt


Log

Author Commit Date CI Message
Ozkan Sezer 4a43321c 2022-02-23T18:10:02 cmake: Fix bug #5361. src/joystick/*.c wasn't unconditionally added to source list even though joystick is an SDL subsystem. Also removed the `SDL_JOYSTICK AND NOT APPLE` condition from src/joystick/dummy/*.c source addition: the OSX unresolved symbols issue, if it really is there, should be fixed separately. Fixes https://github.com/libsdl-org/SDL/issues/5361, i.e. build failures when SDL_JOYSTICK and SDL_HAPTIC are disabled.
Ozkan Sezer b5614d0c 2022-02-04T20:05:14 cmake: fix UWP joystick. from: https://github.com/microsoft/vcpkg/blob/master/ports/sdl2/0005-Fix-uwp-joystick.patch
pionere ff2d62d8 2022-01-15T12:27:25 dlopen is not a subsystem
pionere fa8075c4 2022-01-12T17:21:06 add audio/video dummies if nothing else available
pionere 39c723fc 2022-01-12T17:18:37 fix HAVE_SDL_VIDEO flag of CMakeLists.txt [IOS OR TVOS]
pionere 3dba2a73 2022-01-12T17:17:48 fix HAVE_SDL_AUDIO flag of CMakeLists.txt II.
pionere 3936af99 2022-01-12T16:31:00 fix HAVE_SDL_AUDIO flag of CMakeLists.txt
pionere 21510387 2022-01-12T13:05:12 fix CMakeLists.txt vs. configure inconsistencies - atomic subsystem is disabled by default (changed in configure) - SDL_WAYLAND_LIBDECOR is disabled by default if SDL_WAYLAND is not set (changed in CMakeLists.txt)
pionere 11cdde01 2022-01-12T10:06:22 fix MacOS build with disabled SDL_SENSOR + get rid of the double-check (SDL_HAPTIC depends on SDL_JOYSTICK)
pionere 176941a4 2022-01-12T10:02:52 allow MacOS build without SDL_FILE
pionere eb80f2c6 2022-01-11T10:45:41 sync handling of subsystems II.
pionere 65e9415b 2022-01-10T17:00:32 sync handling of subsystems - add DUMMY-define in case the subsystem is enabled but not available (filesystem/misc/locale) - add missing PSP/VITA-filesystem defines - sync the order of filesystems in SDL_config.h.cmake/in - add option to disable locale subsystem in configure
pionere 118de862 2022-01-10T15:39:42 more conform vulkan/metal configuration
pionere 606d2ea8 2022-01-09T17:00:41 bugfix for "add 'Misc' subsystem"
pionere 998117b3 2022-01-09T16:00:22 add 'Misc' subsystem
Eric Wasylishen 71e06a53 2021-11-26T18:27:34 cmake: fix Metal detection Confirmed to work on: macOS 10.15.7 XCode Version 12.4 (12D4e)
Charlie Birks 15ebad6e 2022-01-22T13:31:11 emscripten: Implement SDL_OpenURL
Sam Lantinga a0e3c884 2022-01-17T15:32:27 Updated to version 2.0.21 for development
Ozkan Sezer a575e2cf 2022-01-17T20:56:24 Enable alloca on mingw/cygwin builds: This effectively reverts commit 391d73e37b26614e2e343ca8e9d4334e07380896 Fixes https://github.com/libsdl-org/SDL/issues/5234
Ozkan Sezer 407d4e47 2022-01-12T20:32:00 cmake: simplify after the previous os/2 commit.
Ozkan Sezer f199f832 2022-01-12T20:22:28 cmake: added target_properties for os/2.
ulatekh bb9ebad7 2022-01-11T09:34:14 Optionally disable generation of SDL2main and uninstall projects. Mostly meant to allow SDL2 to be incorporated as a sub-project of external CMake projects.
Khem Raj fcf0e524 2022-01-07T11:17:47 cmake: Remove libunwind-generic as hard dependency when using alternate unwind implementations like LLVM libunwind this library is not provided yet the libunwind features are fully implemented in main libunwind, making this hard dependency assumes a particular libunwind implementation, this patch makes it optional which makes the builds to work with llvm libunwind Signed-off-by: Khem Raj <raj.khem@gmail.com>
Ozkan Sezer b2656776 2022-01-11T11:33:02 cmake: initial attempt at adding os/2 support.
Neal Gompa 0696fc01 2022-01-07T14:30:26 cmake: Split SDL2-static and SDL2main into their own target exports This makes it so that the generated targets are not interdependent, which allows Linux distributions to split libraries into the appropriate subpackages as needed.
Sam Lantinga 92946348 2022-01-07T18:28:25 Updated to version 2.0.20 for release
Ozkan Sezer 75ac944b 2022-01-06T22:24:00 check for tpcshrd.h and define HAVE_TPCSHRD_H if it's available.
ulatekh 3ea82eaa 2022-01-04T15:46:04 Under MSVC, build project-sources in parallel.
Wouter Wijsman cd1f24a9 2022-01-03T18:41:02 Add forgotten psppower library to link
Francisco Javier Trujillo Mata 13a9cd47 2022-01-01T16:08:00 Adding sysfilesystem driver to PSP
Cameron Gutman 83583dc4 2021-12-19T15:07:37 cmake: Fix WGI detection with older SDKs
Sam Lantinga 881feca1 2021-12-17T19:14:34 CMAKE: fixed cflags check for build type Martin Gerhardy wrote: If there is a variable named test, then cmake does variable-value comparison: if (test STREQUAL "") is equivalent to: if ("${test}" STREQUAL "") If there is no variable named test, then cmake does string literal comparison: if (test STREQUAL "") is equivalent to: if ("test" STREQUAL "") That means basically - the current stuff works - but is not how it should be done. Fixes https://github.com/libsdl-org/SDL/issues/2100
Ivan Epifanov 60c3ca49 2021-12-15T01:20:51 Vita: disable arm asm blitters and add missing pvr dep
Ozkan Sezer 493d45f0 2021-12-07T14:24:32 minor tidy-up in cmake script.
Wouter Wijsman 897c7cfa 2021-12-07T10:24:46 Make sure SDL_VIDEO_RENDER_PSP is set
Wouter Wijsman 21fd0047 2021-11-29T18:42:13 Initial for building PSP version with CMake
Anders Jenbo d68b429c 2021-12-02T23:57:00 [ios] Fix failing to link iconv when build using CMake
Sam Lantinga 5fc901d4 2021-11-30T09:58:21 Updated to version 2.0.19 for development
Ozkan Sezer 5a0ea7fb 2021-11-27T19:10:10 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.
Ozkan Sezer cb2f3bed 2021-11-26T21:20:50 tidy-up a comment in cmake script
Ozkan Sezer 22e59cd1 2021-11-26T19:15:28 CMakeLists.txt: update DYLIB_CURRENT_VERSION too 2.0.18 for release
Sam Lantinga 7242075b 2021-11-26T08:12:45 Updated version to 2.0.18 for release
Cameron Gutman 2fa35757 2021-11-24T23:34:45 cmake: Weak link to GameController.framework to handle older OSes
Cameron Gutman bc409163 2021-11-20T17:05:28 cmake: Detect SDL_JOYSTICK_MFI for macOS
Ozkan Sezer d9f70878 2021-11-24T18:10:00 don't use CMAKE_COMPILER_IS_MINGW Fixes https://github.com/libsdl-org/SDL/issues/5002
Ozkan Sezer b7f9c208 2021-11-23T18:56:50 cmake: handle warning flags properly (thanks to hgs3 for pointers.) fixes https://github.com/libsdl-org/SDL/issues/4983
Ozkan Sezer f8900583 2021-11-23T17:04:40 removed windows winmm joystick driver
Ozkan Sezer 35b7ce18 2021-11-22T14:10:02 cmake: final report fixes for mmx, ssemath, dummyvideo, wasapi, xinput. also moved CoreVideo framework out of if(SDL_FILE) block, and removed a now-irrelevant mingw related fixme.
hgs3 6b66542e 2021-11-17T17:04:34 Fixing compilation errors for VS2019 Clang toolset (fixes #4702)
Cameron Gutman 43d1b42a 2021-11-16T17:59:38 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
Sam Lantinga a0f8afb5 2021-11-11T09:16:44 Separated the HIDAPI subsystem from HIDAPI joysticks You can now disable HIDAPI joysticks while retaining the HIDAPI SDL API
Ryan C. Gordon 8f63e9ff 2021-11-09T11:13:52 cmake: use generated SDL_config.h to build SDLmain static lib Thanks to @toazz for the patch! Fixes #4829.
Ryan C. Gordon 3a82e432 2021-11-09T11:06:33 cmake: Moved back to requiring merely CMake 3.0.0. This means it now works with any CMake released since 2014 instead of 2018. This was mostly just readding some special cases, and requiring 3.11.0 only for Windows Stores apps, which isn't unreasonable. The biggest concern is a Linux distribution not having a recent CMake; most other places will be manually downloading and installing their own CMake. Fixes #4930.
Ethan Lee 4b42c05b 2021-11-08T13:52:48 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.
Ozkan Sezer 2636d839 2021-11-08T22:25:32 cmake: add hidapi to 'SDL_SUBSYSTEMS'
Ozkan Sezer 36067fa1 2021-11-08T21:35:24 cmake: include hid.cpp in android sources
Ozkan Sezer 001aa4da 2021-11-08T21:12:02 cmake: more hidapi fixes.
Sam Lantinga 4bbbe5f8 2021-11-08T09:28:36 Fixed CMake build by adding hidapi files This needs more work to remove the hidapi shared library build, but at least Linux builds are unblocked
Cameron Gutman 7f308abb 2021-11-04T01:02:48 cmake: Only prevent MSVC codegen using the CRT if SDL_LIBC=OFF
Cameron Gutman 16845eef 2021-10-30T12:06:58 cmake: Add SDL include path when building tests The tests can't find any of the SDL includes otherwise
Cameron Gutman 7e8469d1 2021-10-31T09:31:25 cmake: Fix MinGW build break in WGI joystick driver Just look for windows.gaming.input.h rather than assuming its presence or absence based on other CMake variables. Fixes MinGW builds in CI
Cameron Cawley 25c71748 2020-02-13T21:55:08 Add a barebones RISC OS video driver
Ybalrid (Arthur Brainville) 81fe2ccb 2021-10-31T02:54:20 cmake: Add missing SDL_JOYSTICK_WGI in config step SDL_config.h *can* define SDL_JOYSTICK_WGI. On builds with the Windows 10 SDK available, this allow implementing trigger rumbling on Xbox One controllers. The files included in the Visual Studio Solution in VisualC\SDL.sln *do* have this define set. fix #4859
Joel Winarske 378c5d7f 2021-10-23T16:26:25 make aclocal install relative
Cameron Cawley 3db898c5 2020-02-13T22:32:35 riscos: Implement SDL_GetPrefPath()
Ryan C. Gordon ab7910fa 2021-10-05T12:34:29 cmake: Move the old, global add_definitions (etc) to an interface library. Fixes #4150.
Ryan C. Gordon 25fdba39 2021-10-05T11:19:14 cmake: fix indentation.
Ryan C. Gordon f3066625 2021-10-05T11:13:41 cmake: Correctly set IOS variable. Fixes #4635.
Ryan C. Gordon 60d59aeb 2021-10-05T10:54:06 cmake: Calculate padding for dislaying options automatically.
Ryan C. Gordon 7850d0cf 2021-10-05T10:43:35 cmake: Prefix all options with "SDL_" This makes it clear which options came from SDL's CMake project when building SDL as a subdirectory of a parent CMake project. Fixes #4139.
Ryan C. Gordon ab09f3da 2021-09-30T10:00:58 cmake: Remove warning about CFLAGS environment variable. CMake 3.11.0 respects this environment var. Fixes #4681.
Ryan C. Gordon cd6f96de 2021-09-30T09:57:51 cmake: bump minimum CMake allowed to 3.11.0. This cmake is 3 years old, but it removes confusion about the CFLAGS environment variable (as of CMake 3.10.0, reference PR #4681) and also consolidates resolves the need to have a separate requirement for Windows Store apps (which requires CMake 3.11.0).
Ryan C. Gordon f79ac6a8 2021-09-27T23:31:23 cmake: Don't use the CFLAGS environment variable. CMake has standard means of setting compiler flags, such as the -DCMAKE_C_FLAGS command line for general-purpose flags, and -DCMAKE_BUILD_TYPE for letting it choose reasonable release/debug/etc defaults. Trying to emulate the configure script is incorrect and confusing here. Fixes #1819.
Cameron Gutman 5dccffd7 2021-08-23T21:16:58 Allow usage of the new Condition Variable code with Critical Sections Vista and later provide the SleepConditionVariableCS() function for this. Since SDL_syscond_srw.c doesn't require SRW locks anymore, rename it to SDL_syscond_cv.c which better reflects the implementation of condition variables rather than the implementation of mutexes. Fixes #4051.
Ivan Epifanov 8d1e0ca3 2021-09-16T12:48:39 Vita: add support for disabling 'screensaver' (screen dimming and suspend)
Cameron Cawley 67aacfe5 2021-09-09T17:59:47 cmake: Retrieve the git revision on platforms without bash
Cameron Cawley 6301cfda 2021-09-09T17:36:03 cmake: Use the correct directory structure for MinGW builds
Ivan Epifanov 134dd468 2021-08-16T19:08:12 Add pvr gles/gles2 context support
Yao Wei Tjong 姚伟忠 76d50d28 2021-08-22T14:40:54 Force color diagnostics when applicable Although GCC and Clang automatically generate color diagnostics on terminal output, they do not do so when the compiler output is piped through another process, like in the case for ninja-build and ccache. Similarly, it would also be nice to be able to see the color diagnostics on the CI build log in the web interface provided by the CI providers.
Ryan C. Gordon 374b0b9a 2021-08-23T23:58:54 cmake: Don't support Vulkan if LOADSO is disabled. Fixes #4373.
Sam Lantinga f5794f9e 2021-08-10T15:17:59 Added SDL_SetTextureUserData() and SDL_GetTextureUserData() to associate a user-specified pointer with an SDL texture
Sam Lantinga 3f6ebfff 2021-08-10T15:02:36 Updated to version 2.0.17 for development
Sam Lantinga 68103993 2021-08-10T14:50:43 Enable AAUDIO driver for Android I thought this was already enabled for 2.0.16, but apparently not. Fixes https://github.com/libsdl-org/SDL/issues/3710
Ozkan Sezer 77c8d111 2021-08-10T20:55:50 configuration updates for dlopen: - cmake, configure (CheckDLOPEN): --enable-sdl-dlopen is now history.. detach the dl api discovery from SDL_LOADSO_DLOPEN functionality. define HAVE_DLOPEN. also define DYNAPI_NEEDS_DLOPEN (CheckDLOPEN is called only for relevant platforms.) - update SDL_config.in and SDL_config.cmake accordingly. - SDL_dynapi.h: set SDL_DYNAMIC_API to 0 if DYNAPI_NEEDS_DLOPEN is defined, but HAVE_DLOPEN is not. - pthread/SDL_systhread.c: conditionalize dl api use to HAVE_DLOPEN - SDL_x11opengl.c, SDL_DirectFB_opengl.c, SDL_naclopengles.c: rely on HAVE_DLOPEN, not SDL_LOADSO_DLOPEN. - SDL_config_android.h, SDL_config_iphoneos.h, SDL_config_macosx.h, SDL_config_pandora.h, and SDL_config_wiz.h: define HAVE_DLOPEN. Closes: https://github.com/libsdl-org/SDL/pull/4351
Tomasz Kłoczko ea9bece5 2021-08-10T18:51:33 Fix breaking GNUInstallDirs cmake module $CMAKE_INSTALL_LIBDIR directory. Fix #4621 According to https://cmake.org/cmake/help/v3.0/module/GNUInstallDirs.html `${CMAKE_INSTALL_LIBDIR} ` is only variable which should be used as base directory. Without that patch on 64 bit archs libraries, cmake modules and pkgconfig file are installed for example in /usr/lib6464 base directory. This patch fixes #4621. Signed-off-by: Tomasz Kłoczko <koczek@github.com>
Sam Lantinga a91ab883 2021-08-06T12:28:03 Fixed building on Windows with cmake, ninja, and clang
Sam Lantinga cdac61ff 2021-08-06T12:00:53 Fixed typo
Sam Lantinga eec41d25 2021-08-06T11:30:22 Add info on how to avoid the "Prevented in-tree build" message with CMake
Ryan C. Gordon b83a019d 2021-08-04T19:22:10 cmake: Force linker to treat input as a C++ program on Haiku. Reference issue #4590.
Ozkan Sezer 5b18ae29 2021-08-03T14:01:02 improvements to libdecor support in cmake this makes it consistent with wayland support, and makes cmake side in line with autotools' libdecor support.
Ozkan Sezer a15ec365 2021-08-03T11:33:50 attempt to fix cmake builds with libdecor
Ryan C. Gordon c3084539 2021-08-03T02:49:08 cmake: Use CMAKE_INSTALL_FULL_* for libdir,bindir,etc. This makes sure sdl2.pc gets the full paths, matching what the configure script will generate. Fixes #4569.
Ozkan Sezer d373af04 2021-08-01T01:39:20 CMakeLists.txt: update DYLIB_CURRENT_VERSION too 2.0.16 for release
Sam Lantinga cb1fd30e 2021-07-31T13:28:54 Updated to version 2.0.16 for release
Sam Lantinga 1a9253f7 2021-07-31T12:37:28 Removed unused IOS_DYLIB definition
Christian Rauch 9e6fcbe7 2020-06-11T22:10:28 wayland: client-side decoration
Joel Linn 20eea021 2021-06-12T01:25:40 Windows: set HAVE_IMMINTRIN_H for AVX intrinsics
Ryan C. Gordon 6956f4aa 2021-07-24T11:06:40 cmake: use CMAKE_INSTALL_LIBDIR instead of hardcoding "lib", etc. These came from HaikuPorts, specifically this patchset: https://github.com/haikuports/haikuports/blob/462947dd4f285a885d8011cade7cd0f7151cfe74/media-libs/libsdl2/patches/libsdl2-2.0.14.patchset This is just the part that is _not_ Haiku-specific. I wanted this in a separate commit though, since I'm not really a CMake expert; if this causes problems and we need to bisect to it, we won't be confused about it being a Haiku issue when we get here. Fixes #4092. (and probably others.)
Ryan C. Gordon 403afdb5 2021-07-24T11:02:27 cmake: Haiku fixes. These came from HaikuPorts, specifically this patchset: https://github.com/haikuports/haikuports/blob/462947dd4f285a885d8011cade7cd0f7151cfe74/media-libs/libsdl2/patches/libsdl2-2.0.14.patchset This is just the Haiku-specific bits; the more general parts about install dirs will be split into a different commit here. Reference issue #4092.
Ozkan Sezer 5ac81c75 2021-07-10T10:05:40 fixed typo in previous commit