CMakeLists.txt


Log

Author Commit Date CI Message
Ozkan Sezer f6c9b065 2022-09-23T23:56:04 cmake: output libSDL2-2.0.0.dylib like autotools, not libSDL2-2.0.dylib. libSDL2-2.0.dylib is now installed as a symlink to libSDL2-2.0.0.dylib : $ ls -l *.dylib -rwxr-xr-x. 1 ozkan ozkan 1755488 Sep 23 23:53 libSDL2-2.0.0.dylib lrwxrwxrwx. 1 ozkan ozkan 19 Sep 23 23:53 libSDL2-2.0.dylib -> libSDL2-2.0.0.dylib lrwxrwxrwx. 1 ozkan ozkan 17 Sep 23 23:53 libSDL2.dylib -> libSDL2-2.0.dylib Reference issue: https://github.com/libsdl-org/sdl12-compat/issues/217
Anonymous Maarten 3b20e0ec 2022-09-19T02:38:36 cmake: only add -Wl,--undefined=WinMain when building an executable
Ivan Epifanov 202dfea5 2022-09-17T14:12:13 Vita: drop memory defines
Ivan Epifanov 7115ceb7 2022-09-17T11:52:19 Vita: restore sceClibMemcmp
quyykk 37effc77 2022-09-15T19:39:35 Build the offscreen video driver by default.
Rinnegatamante eb0bf2c2 2022-09-12T21:52:39 vita: Drop memcmp redirect to sceClibMemcmp.
Ozkan Sezer 5b2884cb 2022-09-12T20:28:00 apply commit d0a3570300812bc81888e7a7eadb9311621dc9a7 to cmake side too.
Sam Lantinga 181265ba 2022-09-05T11:36:20 Removed unused variable
Sam Lantinga acf397b4 2022-09-05T11:21:13 Actually, DYLIB_COMPATIBILITY_VERSION shouldn't be updated for a stable point release @smcv
Cameron Cawley fd93f817 2022-09-04T17:50:29 Assume that stdint.h is available on Windows with compilers other than MSVC <= 2008
Sam Lantinga ef988fe1 2022-09-05T08:58:49 Only use CETCOMPAT on x86/x64 platforms Fixes https://github.com/libsdl-org/SDL/issues/6173
Sam Lantinga 4e98ba61 2022-09-05T08:28:06 Set DYLIB_COMPATIBILITY_VERSION to DYLIB_CURRENT_VERSION to match autotools Autotools sets both versions to the same value, so Xcode and CMake need to match for the libraries to be compatible between the different builds. See these for details: https://github.com/libsdl-org/sdl12-compat/pull/207 https://github.com/libsdl-org/SDL/issues/2934 https://stackoverflow.com/questions/67055770/usage-of-current-version-and-compatibility-version-on-macos
Gleb Mazovetskiy 803924b2 2022-08-30T00:50:44 CMake: Make SDL_SHARED/STATIC/TEST options This makes it easier to set these options when SDL is used as a subprojects. Since CMake v3.13+, one can simply `set(SDL_TEST OFF)` before include the SDL2 subproject because options do not override existing variables. (https://cmake.org/cmake/help/latest/policy/CMP0077.html#policy:CMP0077) This is also true for `set(CACHE)` commands but only in CMake v3.21+ (https://cmake.org/cmake/help/latest/policy/CMP0126.html).
Ludovico de Nittis e8cb4da7 2022-08-26T12:28:33 Add utility function to detect if SDL is inside a sandbox Refactor the previous sandbox check in a standalone function that also includes Snap support. Signed-off-by: Ludovico de Nittis <ludovico.denittis@collabora.com>
Anonymous Maarten 32c4996c 2022-08-26T02:38:54 cmake: add SDL_IBUS option to enable/disable DBUS + test sys/inotify.h
Anonymous Maarten c8b56ee5 2022-08-26T02:37:57 cmake: add SDL_DBUS option to enable/disable DBUS
Anonymous Maarten 032ff640 2022-08-26T02:37:17 cmake: OpenIndiana announces SunOS, which is the former name of Solaris
Anonymous Maarten 711846c1 2022-08-26T01:56:20 cmake: fix build with SDL_WAYLAND_SHARED=OFF
Cameron Gutman 2ceea460 2022-08-21T14:15:06 cmake: Enable CET compatibility for x86/x64 targets using VS 16.7+
Sam Lantinga 6e9c14e5 2022-08-19T09:38:42 Updated to version 2.25.0 for development
Sam Lantinga 8c9beb0c 2022-08-19T08:44:09 Updated to version Updated to version 2.24.0 for release
Sam Lantinga f1416ef2 2022-08-12T20:27:22 Updated to version 2.23.2 for release candidate
Aaron Barany 3f19e36d 2022-08-07T20:55:27 Disable declaration-after-statement warning on Android External .c files are brought in that don't adhere to this requirement for pre-C99 code and causes the build to break with the latest NDK. Fixes #6019
Anonymous Maarten 17b329d1 2022-07-26T02:51:07 cmake: enable disabing hidapi
Anonymous Maarten a4e6f3ca 2022-07-26T02:41:43 cmake: when there are alternatives, don't use libusb by default
Francisco Javier Trujillo Mata 4564e898 2022-07-03T18:54:56 put files at the same line
Daniel Santos 147a71b9 2022-06-30T12:57:37 Finish dummy driver
Daniel Santos 2660449c 2022-06-30T11:44:35 Add dummy driver
Daniel Santos a81aa992 2022-06-24T15:48:50 Add prim video support
Francisco Javier Trujillo Mata 46f95a7a 2022-06-24T00:20:11 Create dummy PS2 Video driver
Sam Lantinga 954bbdf3 2022-08-01T09:51:21 Allow emscripten platform to build without threads
Sam Lantinga e4cc076a 2022-08-01T09:15:44 Threads are used by many SDL subsystems and may not be disabled. Fixes https://github.com/libsdl-org/SDL/issues/5095
Anonymous Maarten 83f5bbdf 2022-07-28T14:08:20 cmake: define SDL_STATIC_LIB for static SDL2 library
Anonymous Maarten bdd1d035 2022-07-28T02:38:04 cmake: Don't add /NODEFAULTLIB to link flags when building SDL-static
Anonymous Maarten 02c87471 2022-07-27T15:05:41 math.h does not always provide M_PI This fixes the following error when building with SDL_LIBC: SDL\test\testautomation_math.c(1965): error C2065: 'M_PI': undeclared identifier
Anonymous Maarten 5da85376 2022-07-26T21:47:52 stdlib: move all mslibc functions to SDL_mslibc.c This allows disabling LTO on them by only specifying a single file.
Anonymous Maarten 5c70e45c 2022-07-25T23:46:36 cmake: don't use result of 'find_library' for Android libraries
Anonymous Maarten 4690689a 2022-07-25T23:06:52 cmake: on Apple, don't use find_library for frameworks + use EXTRA_LDFLAGS
Anonymous Maarten fc2497b1 2022-07-23T18:05:35 Revert "cmake: don't add -mwindows to link flags in sdl2.pc" This reverts commit d211aaddc1edaad0e7d461d6837f3f1d2f9f4b41.
Anonymous Maarten d211aadd 2022-07-23T15:29:39 cmake: don't add -mwindows to link flags in sdl2.pc
Anonymous Maarten d63a699e 2022-07-23T15:29:13 cmake: by default, disable install target when building SDL as a subproject
Ivan Epifanov 0a164163 2022-07-21T20:30:33 VIta: enable arm neon/simd optimisations
Anonymous Maarten 8f33de84 2022-07-21T14:08:19 cmake: set CMP0054 policy to NEW
Francisco Javier Trujillo Mata e4a80875 2022-06-24T16:43:20 Initial Audio driver
Francisco Javier Trujillo Mata 7fd46ec5 2022-06-18T17:40:53 Initial PS2_Joystick implementation
Francisco Javier Trujillo Mata 84d69da4 2022-03-20T19:42:06 Initial SDL_ps2_main implementation
Anonymous Maarten fa39f735 2022-06-26T23:34:30 cmake: add generated files to a custom target (#5851) This way, headers are only generated once .
Anonymous Maarten 76f40e2b 2022-06-24T14:41:35 cmake: remove stray debug line
Anonymous Maarten ca309363 2022-06-24T14:41:06 cmake: check and use clock_gettime by default on android
hsdk123 bd496961 2022-06-23T08:18:44 cmake: use CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR (#5834) * Update install directory to match generated https://github.com/libsdl-org/SDL/blob/main/CMakeLists.txt#L3122 Sets `SDL2Config.cmake` to `CMAKE_BINARY_DIR`, whereas the install file tries to find it from a different location. * cmake: use CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR * ci: test SDL included as a cmake subproject Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com>
Anonymous Maarten 78a37516 2022-06-16T16:38:58 cmake+ci: fix+test sdl2-config + sdl2.pc for all supported platforms
Anonymous Maarten c61367c2 2022-06-16T04:14:52 cmake: do list(APPEND SDLMAIN_SOURCES)
Anonymous Maarten 3617691f 2022-06-16T03:37:05 cmake: install Android.mk files for ndk-build This allows including SDL2 with ndk-build using NDK_MODULE_PATH + import-module An install tree looks like: ``` `-- share |-- aclocal | `-- sdl2.m4 |-- licenses | `-- SDL2 | `-- LICENSE.txt `-- ndk-modules |-- SDL2 | `-- Android.mk |-- SDL2-static | `-- Android.mk |-- SDL2main | `-- Android.mk `-- SDL2test `-- Android.mk ``` The generated `/share/ndk-modules/SDL2/Android.mk` contains: ``` LOCAL_PATH := $(call my-dir) _IMPORT_PREFIX := $(LOCAL_PATH)/../../.. include $(CLEAR_VARS) LOCAL_MODULE := SDL2 LOCAL_SRC_FILES := $(_IMPORT_PREFIX)/lib/libSDL2.so LOCAL_CPP_FEATURES := rtti exceptions LOCAL_EXPORT_C_INCLUDES := ${_IMPORT_PREFIX}/include\ ${_IMPORT_PREFIX}/include/SDL2 include $(PREBUILT_SHARED_LIBRARY)` ```
Anonymous Maarten b3159714 2022-06-16T03:30:34 cmake: set HAVE_STATIC_PIC for correct summary
Anonymous Maarten de409d2a 2022-06-16T03:28:30 cmake: remove spurious UNIX_SYS in dep_option
Anonymous Maarten 2f321fb7 2022-06-16T03:27:52 cmake: disable UNIX_SYS by default for Android This force disables SDL_OSS, SDL_ALSA, SDL_JACK, SDL_ESD, SDL_PIPEWIRE, SDL_ARTS, SDL_NAS, SDL_SNDIO, SDL_LIBSAMPLERATE, SDL_RPATH, SDL_CLOCK_GETTIME and SDL_X11.
Anonymous Maarten 5f4e9fb9 2022-06-21T02:26:49 cmake: use add_custom_command to copy include files Otherwise, the make program would not rebuild when a header got changed
Anonymous Maarten 485b1037 2022-06-21T01:30:50 cmake: copy all headers to the build directory and exclusively use that
Anonymous Maarten 3e102123 2022-06-20T20:51:12 cmake: also add the recently-added include folder to the public interface
Anonymous Maarten 4ad4fe67 2022-06-20T20:47:21 cmake: install generated SDL_config.h The generated SDL_config.h recently changed location, so update the install.
Anonymous Maarten d460000b 2022-06-20T19:29:13 cmake: use add_definitions for compatibility with cmake 3.0
Ozkan Sezer bdcdbfc7 2022-06-19T11:04:24 Enable D3D12 detection when using mingw-w64 with cmake too c.f.: autotools commit 59fb7acbf7af9d64a2d5432bb6677585a0ddd50a
Ozkan Sezer a8d41b3b 2022-06-18T21:51:32 check for shellscalingapi.h presence instead of WINVER >= 0x0603
Anonymous Maarten b19099d5 2022-06-16T19:59:57 cmake: use find_package(SampleRate) to find samplerate + allow targets
Sam Lantinga b004133f 2022-06-16T12:49:17 Updated to version 2.23.1 for pre-release checkpoint
Francisco Javier Trujillo Mata fc78d0ff 2022-06-16T00:36:52 Fix Compilation CI
Francisco Javier Trujillo Mata 6b03c1ad 2022-06-13T20:59:18 Add filesystem driver
Francisco Javier Trujillo Mata 52f00833 2022-06-13T20:58:18 Add Thread drivers
Francisco Javier Trujillo Mata 217d3a6d 2022-06-13T20:35:27 Add systimer support
Francisco Javier Trujillo Mata 580416d3 2022-06-06T00:02:08 Initial CMake configuration
Alex Richardson cd8f57ee 2022-05-29T10:38:56 cmake: freebsd: Don't REQUIRE libunwind.pc on FreeBSD FreeBSD includes the libunwind APIs in in the base system libgcc_s and does not install a .pc file for it. This change fixes the build on FreeBSD for me.
Anonymous Maarten ae7446a9 2022-06-15T20:48:54 stlib: Extract SDL_memcpy and SDL_memset to its own file respectively This is done such that we can disable LTO for these 2 functions when building with MSVC. This is due to a limitation of Link Time Code Generation (LTCG). Code generation might generate a new reference to memset after linking has started. The LTCG must make assumptions about where memset is defined which is normally the C runtime.
Anonymous Maarten 18206446 2022-06-15T17:10:31 cmake: collect SDL_LIBS as list + export PKG_DIRECTFB_LDFLAGS
Anonymous Maarten b5f1fe50 2022-06-15T06:17:59 cmake: Allow integers for SDL_ASSERTIONS + fix -DSDL_ASSERTIONS=0
Yao Wei Tjong 姚伟忠 c90e1ec3 2021-08-15T21:51:31 Remove redundant sizeof "size_t" check The result variables: HAVE_${VARIABLE}, ${VARIABLE}, ${VARIABLE}_CODE, etc. do not seem to be referenced anywhere in the CMake build script.
Anonymous Maarten 6d1dfc83 2022-06-15T04:29:14 cmake: make sure SDL2::SDL2 is always available
Anonymous Maarten 8a2c6b60 2022-06-15T03:11:33 cmake: don't link to libibus (not needed, I think)
Anonymous Maarten c950018f 2022-06-15T03:07:41 cmake: don't link to libdbus (see note in SDL_dbus.c)
Anonymous Maarten fb7c03eb 2022-06-15T03:04:10 cmake: install LICENSE.txt
Anonymous Maarten afc350ee 2022-06-15T03:03:33 cmake: do 's#set(SOURCE_FILES #list(APPEND SOURCE_FILES #g'
Anonymous Maarten 6606ab8b 2022-06-13T18:35:32 Introduce EXTRA_TEST_LIBS variable for test-only libraries
Anonymous Maarten 851eecdf 2022-06-13T18:04:10 Don't add extra build linker flags to SDL2_static These leak to users, when SDL2 is vendored.
Cameron Cawley 25367efc 2022-05-08T17:36:22 Add missing library needed for locale functions on PS Vita
chalonverse b9c2ad83 2022-06-07T22:19:58 Added additional check for HAVE_D3D12_H and missing SDL_VIDEO_RENDER_D3D12 in SDL_config.h.cmake
Anonymous Maarten 298ad937 2022-06-08T01:10:12 cmake: wrap SDL_STATIC_PIC in double quotes (aka never trust user input) Suggested by @Wohlstand
Anonymous Maarten ad272ac6 2022-06-08T00:32:15 Set POSITION_INDEPENDENT_CODE property on SDL2 for CMake 3.0
chalonverse 7a335df9 2022-06-07T16:11:25 Updated CMakeLists.txt and configure.asc/script so that it checks for the required Windows SDK version before it enables the d3d12 renderer. Also fixed reported warnings in some builds.
Anonymous Maarten 5abd6769 2022-06-07T04:28:55 Allow empty default values to the dep_option macro
chalonverse 40828218 2022-06-06T17:42:30 DirectX 12 Renderer (#5761) * DirectX 12 Renderer (27 squashed commits) * Add missing SDL_hidapi.h of merge of SDL.vcxproj.filters * Fixed OpenWatcom build failure * Dynapi fix Co-authored-by: Ryan C. Gordon <icculus@icculus.org>
Anonymous Maarten fd3f3810 2022-06-04T03:16:27 Initialize SDL_STATIC_PIC from CMAKE_POSITION_INDEPENDENT_CODE
Simon McVittie 65a3453b 2022-05-26T16:02:15 build: Compile with large inode number support where possible On filesystems with large inode numbers, such as overlayfs, attempting to stat() a file on a 32-bit system using legacy syscalls can fail with EOVERFLOW. If we opt-in to more modern "large file support" syscalls, then source code references to functions like stat() are transparently replaced with ABIs that support large file sizes and inode numbers, such as stat64(). This cannot safely be done globally by Linux distributions, because some libraries expose types like `off_t` or `struct stat` in their ABI, meaning that enabling large file support would be an incompatible change that would cause crashes. However, SDL appears to be careful to avoid these types in header files, so it should be OK to enable this. Signed-off-by: Simon McVittie <smcv@collabora.com>
Anonymous Maarten 799d39a3 2022-06-03T23:08:22 Make the sdl2-config script relocatable
Anonymous Maarten 5ec2d46f 2022-06-03T20:12:52 cmake: make SDL2Config.cmake compatible with autotools' sdl2-config.cmake
Anonymous Maarten 8e13cc30 2022-05-30T00:46:00 cmake: add 'compatible interface properties' to allow enforcing SDL2 sharedness
Anonymous Maarten 1087eaad 2022-05-27T01:40:11 cmake: install SDL2::SDL2test when configuring with SDL2_TEST enabled
Tim Schumacher 12cc636c 2022-05-21T23:33:31 Make sdl2-config prefixes configurable again The installation prefix ended up being hard-coded into the `sdl2-config` script after the placeholders were accidentally removed in 6956f4aa1982b66b234026b46f7bb2dd44c67894.
Sam Lantinga 6da6a6cb 2022-05-21T13:51:21 Make sure Objective C files are built with the same flags as C files. Fixes https://github.com/libsdl-org/SDL/issues/5707
Cameron Cawley e0f3da49 2022-05-12T12:18:23 Remove unused SDL_ASSEMBLY_ROUTINES define
Alex Szpakowski ec8fa577 2022-05-07T21:57:23 macOS: always use Objective-C ARC (automatic ref counting). Change Cocoa SDL_VideoData and SDL_WindowData implementations from C structs to Objective-C objects, since bridging between C and ObjC is easier that way.
Cameron Cawley 9ef68857 2022-05-08T15:53:43 Fix MSVC ARM32 builds