Anonymous Maarten
b8c6d3d7e1
cmake: mark hidapi as disabled when not found
...
(cherry-picked from commit 19b13aab98 )
(cherry-picked from commit c3495ec6ea )
(cherry-picked from commit 6dfd7a17e1 )
2022-10-24 20:04:21 +03:00
Anonymous Maarten
1e5daf1bef
cmake: fix build with SDL_WAYLAND_SHARED=OFF
...
(cherry-picked from commit 711846c1f4 )
2022-10-24 20:04:21 +03:00
Anonymous Maarten
36b987dabe
cmake: else() does not need an argument
2022-10-20 13:30:37 +02:00
Anonymous Maarten
a23b54b74a
cmake+xcode: only create SDL2::SDL2main target when it does not exist again
2022-10-04 21:17:29 +02:00
Anonymous Maarten
a1026d6368
cmake: use check_symbol_exists to check dlopen + need for dl library
...
(cherry-picked from commit bfecd78159 )
2022-09-27 17:01:01 +03:00
Anonymous Maarten
c7950bf0c6
cmake: only add -Wl,--undefined=WinMain when building an executable
...
(cherry-picked from commit 653e433c08 )
2022-09-27 14:37:55 +03:00
Anonymous Maarten
4d78a6fad4
cmake: only add -Wl,--undefined=WinMain when building an executable
...
(cherry picked from commit 3b20e0ecef )
2022-09-19 05:02:04 +03:00
Anonymous Maarten
08e8824372
cmake: fix location of SDL2::SDL2test imported library
2022-09-05 21:54:48 +02:00
Anonymous Maarten
62302d08f1
cmake: always create SDL2::SDL2main target in autotools' cmake config script
2022-08-24 06:41:20 -07:00
Anonymous Maarten
b19e2f1e56
cmake: create SDL2::SDL2main target in Apple framework official release
2022-08-24 06:41:20 -07:00
Anonymous Maarten
329794daf3
cmake: add library directories & pthread to imported targets of sdl2-config.cmake
...
This fixes linking to SDL2::SDL2-static on systems where external libraries such as X11 are not in a standard location.
Pthread also needs special care.
2022-08-20 19:17:37 -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
Anonymous Maarten
36dfbe5d66
stdlib: exclude mslibc functions using SDL_STATIC_LIB macro
2022-07-29 15:05:19 +02:00
Anonymous Maarten
f8aa00d198
cmake: add HAVE_STDDEF_H to SDL_config.h.cmake
2022-07-29 15:05:19 +02:00
Anonymous Maarten
83f5bbdf25
cmake: define SDL_STATIC_LIB for static SDL2 library
2022-07-29 15:05:19 +02:00
Anonymous Maarten
bdd1d035b7
cmake: Don't add /NODEFAULTLIB to link flags when building SDL-static
2022-07-29 15:05:19 +02:00
Anonymous Maarten
65473ae36d
autoconf: use ax_compute_relative_paths
2022-07-27 21:06:31 +02:00
Anonymous Maarten
02c8747176
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
2022-07-27 09:10:18 -07:00
Anonymous Maarten
5da85376b9
stdlib: move all mslibc functions to SDL_mslibc.c
...
This allows disabling LTO on them by only specifying a single file.
2022-07-27 09:07:56 -07:00
Anonymous Maarten
5c70e45c53
cmake: don't use result of 'find_library' for Android libraries
2022-07-26 14:24:36 -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
4690689a4c
cmake: on Apple, don't use find_library for frameworks + use EXTRA_LDFLAGS
2022-07-26 14:24:36 -07:00
Anonymous Maarten
f86ec47f86
ci: don't use ANDROID_NDK_HOME environment variable in Android workflow
2022-07-25 15:08:33 +02:00
Anonymous Maarten
fc2497b109
Revert "cmake: don't add -mwindows to link flags in sdl2.pc"
...
This reverts commit d211aaddc1 .
2022-07-23 18:05:35 +02:00
Anonymous Maarten
2fdedd17be
Revert 6fa7d62 and 856c99e5
2022-07-23 17:29:45 +02:00
Anonymous Maarten
856c99e583
android: target android-19 by default when building with build-scripts/androidbuildlibs.sh
2022-07-23 16:28:50 +02:00
Anonymous Maarten
832754b970
ci: install SDL when built as a subproject
2022-07-23 15:43:06 +02:00
Anonymous Maarten
6fa7d62408
ci: use android-ndk r25 (LTS) on CI
2022-07-23 15:31:35 +02:00
Anonymous Maarten
d211aaddc1
cmake: don't add -mwindows to link flags in sdl2.pc
2022-07-23 15:29:39 +02:00
Anonymous Maarten
d63a699e01
cmake: by default, disable install target when building SDL as a subproject
2022-07-23 15:29:13 +02: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
ac9e8691a2
cmake: only build testnative when X11 is available
2022-07-21 14:49:35 +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
8f33de8462
cmake: set CMP0054 policy to NEW
2022-07-21 14:08:23 +02:00
Anonymous Maarten
db7dfece16
cmake: fix name+location of SDL2.dll in configure generated SDL2::SDL2 target
2022-06-28 23:09:28 +02:00
Anonymous Maarten
76f40e2b3b
cmake: remove stray debug line
2022-06-24 19:12:39 +02:00
Anonymous Maarten
ca30936314
cmake: check and use clock_gettime by default on android
2022-06-24 19:12:15 +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
c61367c273
cmake: do list(APPEND SDLMAIN_SOURCES)
2022-06-23 14:17:38 +02:00
Anonymous Maarten
965c164537
cmake: let cmake test script make use of the installed cmake scripts
2022-06-23 14:17:38 +02:00
Anonymous Maarten
3617691fe0
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)`
```
2022-06-23 14:17:38 +02:00
Anonymous Maarten
b3159714db
cmake: set HAVE_STATIC_PIC for correct summary
2022-06-23 14:17:38 +02:00
Anonymous Maarten
de409d2a81
cmake: remove spurious UNIX_SYS in dep_option
2022-06-23 14:17:38 +02:00
Anonymous Maarten
2f321fb73c
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.
2022-06-23 14:17:38 +02:00
Anonymous Maarten
5f4e9fb9b3
cmake: use add_custom_command to copy include files
...
Otherwise, the make program would not rebuild when a header got changed
2022-06-22 17:04:58 +02:00
Anonymous Maarten
485b1037b0
cmake: copy all headers to the build directory and exclusively use that
2022-06-22 17:04:58 +02:00
Anonymous Maarten
3e1021239a
cmake: also add the recently-added include folder to the public interface
2022-06-22 17:04:58 +02:00
Anonymous Maarten
4ad4fe67c7
cmake: install generated SDL_config.h
...
The generated SDL_config.h recently changed location, so update the install.
2022-06-22 17:04:58 +02:00
Anonymous Maarten
d460000b45
cmake: use add_definitions for compatibility with cmake 3.0
2022-06-20 19:29:13 +02:00
Anonymous Maarten
e7ad511b4b
cmake: fix location of include dir for SDL2 VC sdk
2022-06-18 13:30:54 +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
ae7446a959
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.
2022-06-15 14:17:35 -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
b5f1fe5004
cmake: Allow integers for SDL_ASSERTIONS + fix -DSDL_ASSERTIONS=0
2022-06-15 11:11:49 -07:00
Anonymous Maarten
97711e99fe
cmake: no need to explicitly add a depency (target_link_libraries does this implicitly)
2022-06-15 11:11:49 -07:00
Anonymous Maarten
ad21c70408
cmake: fix CMP0072 warning by prefering GLVND
2022-06-15 11:11:49 -07:00
Anonymous Maarten
6d1dfc8322
cmake: make sure SDL2::SDL2 is always available
2022-06-14 20:15:34 -07:00
Anonymous Maarten
69df26a0d4
ci: test clang+MinGW on CI
2022-06-14 20:15:34 -07:00
Anonymous Maarten
32df5aeb3d
Check result of FindLibraryAndSONAME before use
2022-06-15 05:33:40 +03:00
Anonymous Maarten
8a2c6b604c
cmake: don't link to libibus (not needed, I think)
2022-06-15 05:33:40 +03:00
Anonymous Maarten
c950018fe0
cmake: don't link to libdbus (see note in SDL_dbus.c)
2022-06-15 05:33:40 +03:00
Anonymous Maarten
fb7c03ebb5
cmake: install LICENSE.txt
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
6606ab8b56
Introduce EXTRA_TEST_LIBS variable for test-only libraries
2022-06-13 10:05:30 -07:00
Anonymous Maarten
e99a7144ff
Use list(APPEND EXTRA_LIBS) everywhere
2022-06-13 10:05:30 -07:00
Anonymous Maarten
851eecdf40
Don't add extra build linker flags to SDL2_static
...
These leak to users, when SDL2 is vendored.
2022-06-13 10:05:30 -07:00
Anonymous Maarten
298ad937c0
cmake: wrap SDL_STATIC_PIC in double quotes (aka never trust user input)
...
Suggested by @Wohlstand
2022-06-07 18:44:47 -07:00
Anonymous Maarten
ad272ac690
Set POSITION_INDEPENDENT_CODE property on SDL2 for CMake 3.0
2022-06-07 18:44:47 -07:00
Anonymous Maarten
5abd676917
Allow empty default values to the dep_option macro
2022-06-07 09:17:44 -07:00
Anonymous Maarten
20c76599f9
Fix MinGW SDK redist: sdl2-config.cmake needs to set SDL2_FOUND
2022-06-03 21:05:55 -07:00
Anonymous Maarten
fd3f381021
Initialize SDL_STATIC_PIC from CMAKE_POSITION_INDEPENDENT_CODE
2022-06-03 21:05:04 -07:00
Anonymous Maarten
d6143ab369
Add -Wl,-Bstatic to "sdl2-config --static-libs" output
2022-06-03 16:27:13 -07:00
Anonymous Maarten
799d39a302
Make the sdl2-config script relocatable
2022-06-03 16:27:13 -07:00
Anonymous Maarten
f858d1305a
ci: test installed packages using CMake
2022-06-03 12:41:36 -07:00
Anonymous Maarten
96e3733a18
cmake: make Xcode's sdl2-config.cmake compatible with the one from autotools
2022-06-03 12:41:36 -07:00
Anonymous Maarten
5a8ccf4522
cmake: make VisualC's sdl2-config.cmake compatible with the one from autotools
2022-06-03 12:41:36 -07:00
Anonymous Maarten
5ec2d46f47
cmake: make SDL2Config.cmake compatible with autotools' sdl2-config.cmake
2022-06-03 12:41:36 -07:00
Anonymous Maarten
9ff8f29f43
cmake: Add mini-SDL2 CMake project to test SDL2 prefixes
2022-06-03 12:41:36 -07:00
Anonymous Maarten
67792767f5
cmake: Add CMake configuration files, meant for the prebuilt MinGW SDK
2022-06-03 12:41:36 -07:00
Anonymous Maarten
246f3ba52c
cmake: rewrite autotools' sdl2-config.cmake.in with IMPORTED targets + no more -lmingw32
2022-06-03 12:41:36 -07:00
Anonymous Maarten
6f3474db2d
autotools: export relative path of an installed sdl2-config.cmake to the prefix root
2022-06-03 12:41:36 -07:00
Anonymous Maarten
8e13cc309e
cmake: add 'compatible interface properties' to allow enforcing SDL2 sharedness
2022-06-03 12:41:36 -07:00
Anonymous Maarten
1087eaad7e
cmake: install SDL2::SDL2test when configuring with SDL2_TEST enabled
2022-06-03 12:41:36 -07:00
Anonymous Maarten
3c3c02518c
Add Compatible Interface Properties to VisualC and Xcode SDL2 config file
2022-05-31 00:10:55 +02:00
Anonymous Maarten
4809bd356e
Add documentation to autotoo'ls sdl2-config-version.cmake.in
2022-05-31 00:10:55 +02:00
Anonymous Maarten
774c50174c
Add CMake section to the Xcode ReadMe.txt
2022-05-31 00:10:55 +02:00
Anonymous Maarten
f73c25648f
cmake: attempt to use framework in Xcode's sdl2-config.cmake
2022-05-31 00:10:55 +02:00
Anonymous Maarten
4c3d1d32a5
Use INTERFACE_INCLUDE_DIRECTORIES in Xcode's sdl2-config.cmake
2022-05-31 00:10:55 +02:00
Anonymous Maarten
2c591e408e
Add CMake configuration files, meant for Macos framework
2022-05-31 00:10:55 +02:00
Anonymous Maarten
8ac8230bfa
Add CMake configuration files, meant for VC devel package
2022-05-31 00:10:55 +02:00