Commit graph

119 commits

Author SHA1 Message Date
Sam Lantinga
08f9b64eb9 Forgot to add function check for fopen64 to CMake build 2017-08-11 21:17:10 -07:00
Ryan C. Gordon
e009b58d09 cmake: Pacify warning about Policy CMP0042 not being set. 2017-08-09 22:43:16 -04:00
Sam Lantinga
dd61565e37 Fixed bug 3651 - CMake build does not install CMake package configuration
tschwinger@elitemail.org

Most ironically, although autoconf/automake-based builds install (pretty half-assed) CMake package configuration files, they're missing in installations resulting from CMake-based builds entirely.

A proper configuration file typically also loads target exports (implemented in patch 3572, also fixing this issue - see my comment on that issue for details).

I believe it would be best to let the dinosaurs go extinct and redirect all build efforts to the CMake end for two reasons:

1. It potentially provides the best user experience, but you'd have to give it some love and ship with less quirky buildfiles.

2. It would force distros to build SDL via CMake and thus would ensure target exports are actually available everywhere.

Various CMake patches I submitted today in summary (directly converted from the HG commits and `am`d onto a fork of a git mirror that happened to be on `tip`).

    https://github.com/tschw/SDL/commits/patched

Fixing #2576 #3572, #3613, and this fresh ticket, which is almost entirely advertisement ;).

These already do to make SDL much less of a quirky fella to have in your dependency tree...
2017-08-09 19:03:10 -07:00
Olli Kallioinen
7034592ed9 Android build fixes
-Enabling checking for GCC_ATOMICS also on clang by default. This way all Android ABIs build successfully
 -Android cmake: Threading was not enabled correctly
 -Android cmake: Timers and dynamic lib loading were not included in the sources
2017-06-08 22:07:55 +03:00
Sam Lantinga
9afeb8f34f Fixed bug 3690 - SDL2 KMS/DRM render context support
Manuel

The attached patch adds support for KMS/DRM context graphics.

It builds with no problem on X86_64 GNU/Linux systems, provided the needed libraries are present, and on ARM GNU/Linux systems that have KMS/DRM support and a GLES2 implementation.
Tested on Raspberry Pi: KMS/DRM is what the Raspberry Pi will use as default in the near future, once the propietary DispmanX API by Broadcom is overtaken by open graphics stack, it's possible to boot current Raspbian system in KMS mode by adding "dtoverlay=vc4-kms-v3d" to config.txt on Raspbian's boot partition.
X86 systems use KMS right away in every current GNU/Linux system.

Simple build instructions:

$./autogen.sh
$./configure --enable-video-kmsdrm
$make
2017-08-02 10:22:48 -07:00
Sam Lantinga
396a81c053 Fixed bug 3609 - Windows build fails due to conflicting types for 'XINPUT_GAMEPAD_EX'
Ozkan Sezer

(In reply to Ryan C. Gordon from comment #9)
> I've put this patch in as https://hg.libsdl.org/SDL/rev/117d4ce1390e ...can
> you verify this works on the latest MinGW?
>
> Thanks,
> --ryan.


This patch is wrong: the structure in question has nothing to do with any
gcc version in use.  I suggest reverting this adding a conigury check for
it, instead.  Something like the following should do it: (configure needs
regenerating.)
2017-07-10 18:31:28 -07:00
Sam Lantinga
96a9da8084 Fixed bug 3670 - CMake IOS haptic error 2017-06-12 16:35:34 -07:00
Ryan C. Gordon
b8867a8c4b cmake: iOS haptic section was referencing power source code (thanks, Martin!).
Fixes Bugzilla #3670.
2017-06-11 16:00:45 -04:00
Ryan C. Gordon
0240079805 jack: Initial shot at a JACK audio target.
http://jackaudio.org/

Fixes Bugzilla #2163.
(with several more commits following to improve this code.)

--HG--
extra : rebase_source : 5d0d44fcca077c41c56381575a45184bdc050003
2017-06-08 13:27:58 -04:00
Olli Kallioinen
bd55411ea9 Android cmake build fixed to work with the official android gradle plugin 2017-06-04 21:25:57 +03:00
Ryan C. Gordon
e7bb1cbcf1 cmake: don't use /NODEFAULTLIB if we are using the C runtime (thanks, Rob!).
Fixes Bugzilla #3640.
2017-06-06 13:39:29 -04:00
Ryan C. Gordon
55c65a1616 audio: rename bsd target to netbsd.
Apparently this is no longer a generic BSD audio target, and hasn't been for
years, so rename it for NetBSD.

--HG--
rename : src/audio/bsd/SDL_bsdaudio.c => src/audio/netbsd/SDL_netbsdaudio.c
rename : src/audio/bsd/SDL_bsdaudio.h => src/audio/netbsd/SDL_netbsdaudio.h
2017-05-24 19:56:59 -04:00
Ryan C. Gordon
b0ea193974 cmake: add WASAPI audio target to the build (thanks, Martin!).
Fixes Bugzilla #3588.
2017-02-23 22:38:04 -05:00
Ryan C. Gordon
d756e1486e CMake: fixed logic error in setting -mfpmath=387.
Fixes Bugzilla #3565.

--HG--
extra : histedit_source : 4ca7ab8fd990fa870000c9489b92561703a127e2
2017-01-24 12:20:41 -05:00
Ryan C. Gordon
6e1edca849 audio: Wired up new SSE code to build system.
--HG--
extra : rebase_source : 3c94cdc92b94864eb43d7429032724227b798cf2
2017-01-23 01:05:44 -05:00
Sam Lantinga
5a0aef995a Added configure and cmake support for libsamplerate 2017-01-06 20:43:53 -08:00
Ryan C. Gordon
79c41b1692 cpuinfo: first attempt at SDL_HasNEON() implementation. 2016-11-17 01:15:16 -05:00
Sam Lantinga
52aad80cf2 Fixed building with cmake when fcitx isn't installed 2016-10-14 01:04:21 -07:00
Sam Lantinga
321fdcc4d1 Fixed setting the version info in the shared library when using CMake
Ray Molenkamp

When building sdl as shared lib, the version info is lacking in the final binary.

CMake gathers the right resource files into ${VERSION_SOURCES} but then doesn't do anything with them.
2016-10-03 03:42:10 -07:00
Sam Lantinga
6511fa631f Fixed bug 3078 - cmake: fix sdl2.m4 install location on cross hosts
Timo Gurr

On cross hosts running autotools for SDL2_gfx-1.0.1 fails to find sdl2.m4:

eautoreconf: running in /var/tmp/paludis/build/media-libs-SDL2_gfx-1.0.1/work/SDL2_gfx-1.0.1 ...
aclocal
aclocal-1.13: warning: autoconf input should be named 'configure.ac', not 'configure.in'
configure.in:128: warning: macro 'AM_PATH_SDL2' not found in library
libtoolize --copy --force --automake
aclocal
aclocal-1.13: warning: autoconf input should be named 'configure.ac', not 'configure.in'
configure.in:128: warning: macro 'AM_PATH_SDL2' not found in library
autoconf
configure.in:128: error: possibly undefined macro: AM_PATH_SDL2
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
 * Failed Running autoconf !

SDL2 installs it to /usr/x86_64-pc-linux-gnu/share/aclocal on cross hosts, attached patch makes use of CMAKE_INSTALL_FULL_DATAROOTDIR to support correctly installing to the arch independent location /usr/share/aclocal.
2016-10-01 15:11:18 -07:00
Alex Szpakowski
d5032acfc4 Fix CMake setting an incorrect video backend on iOS 2016-10-01 17:05:29 -03:00
Sam Lantinga
13f3fd56de Fixed bug 3268 - CMAKE: ios fixes
Martin Gerhardy

ios is not properly handled in the cmake file.

this patch is a start to do so - it properly builds for me with it.
2016-10-01 12:54:48 -07:00
Sam Lantinga
7963feb3d1 Fixed bug 3301 - IBus support on Linux with CMake
joe.gsoc16

I recently looked into Unicode support in SDL2 and realized that
SDL_TEXTEDITING doesn't get triggered at all (Japanese IME).
According to others on IRC it works fine on Windows/Mac but not
for me on (arch)Linux.
When compiling SDL with autotools, IBus support is enabled by
default but not so with CMake.
I never used CMake before but got it working and also included
that pkg-config determines flags for dbus (FIXME in CMakeLists).
2016-10-01 12:48:08 -07:00
Sam Lantinga
79485875b5 Updated version to 2.0.5 in preparation for release 2016-09-28 22:24:01 -07:00
Sam Lantinga
8d2e2aad1d Fixed set of libraries needed to build on Mac OS X 2016-09-15 08:57:56 -07:00
Sam Lantinga
ed62fd26c8 Hopefully fixed the cmake build on Mac OS X 2016-09-15 08:46:14 -07:00
Jukka Jylänki
115362770b Fix CMake CMAKE_REQUIRED_FLAGS handling to preserve existing CMake flags required by Emscripten toolchain. 2016-09-13 00:03:50 -07:00
Charlie Birks
7c5a528749 Include timers when using cmake (#29) 2016-09-13 00:03:40 -07:00
Ryan C. Gordon
546eb95ce0 mac: Patched to compile with CMake project. 2016-09-04 01:42:46 -04:00
Alex Szpakowski
a1c1b64a93 Windows CMake: don't try to link dxguid, it's unavailable when using Visual Studio's XP-compatible toolset. 2016-03-18 22:15:53 -03:00
Sam Lantinga
438241a969 Expose the EGL display and window for Vivante SDL windows 2016-01-16 21:58:49 -08:00
Ryan C. Gordon
6b6cb64d42 CMake: only set "-O3 -g" defaults if CMAKE_BUILD_TYPE wasn't set at all. 2016-01-08 07:32:51 -05:00
Sam Lantinga
6aa640c48d Fixed --enable-new-dtags check with cmake 2016-01-07 17:21:50 -08:00
Sam Lantinga
cb0161a65f Use --enable-new-dtags to set RUNPATH rather than RPATH so that LD_LIBRARY_PATH is not overridden by the application. 2016-01-07 16:42:30 -08:00
Ryan C. Gordon
612da1ec3e CMake: Turned off Mac OS X rpath warning kludge.
Apparently CMake errors out if it doesn't know this policy, and we don't
otherwise require CMake 3.0 yet. Sigh.
2016-01-05 05:44:32 -05:00
Ryan C. Gordon
d76bd41747 CMake: Let static libraries optionally be built with Position Independent Code.
--HG--
extra : histedit_source : 3eb8e36a43b9760753b643401799020b8626b8f4
2016-01-05 01:26:32 -05:00
Ryan C. Gordon
7406930291 CMake: use the old MACOSX_RPATH behavior (for now), silence the warning.
--HG--
extra : histedit_source : 66863b16c3a9c4d7cdd43ae36bbcd869f5fcab73
2016-01-05 01:25:54 -05:00
Ryan C. Gordon
914be5d09c Try to build with GCC's -Wdeclaration-after-statement.
This will help catch things that'll cause issues on C89 compilers before we
send them on to fail on Buildbot.

--HG--
extra : amend_source : 2a21da040338a9f796b8baf7038cf866ce54b595
2016-01-04 22:58:38 -05:00
Ryan C. Gordon
4f8b05a556 CMake: Don't make a libSDL2.so symlink on Mac OS X (do .dylib instead). 2016-01-03 20:52:44 -05:00
Alex Szpakowski
2ccbf4aa4f CMake: Fixed building for Windows with VS2015 (bug #3080).
- Don't try to link with the Visual C runtime.

- Avoid code generation that would use functions from the VC runtime.
2015-12-31 15:26:40 -04:00
Ryan C. Gordon
54ded44867 CMake: Changes to get CMake project to work with Android (thanks, Martin!).
Fixes Bugzilla #3194.

(but note that Bugzilla #3200 still needs to be resolved to get this really
going on Android, at a minimum.)
2015-12-29 00:57:24 -05:00
Ryan C. Gordon
3609add147 CMake: fixed a failure to reset CMAKE_REQUIRED_FLAGS (thanks, Martin!).
This would break Emscripten builds with the CMake project files (etc).

Fixes Bugzilla #3197.
2015-12-29 00:36:03 -05:00
Ryan C. Gordon
b5cdb18893 CMake: don't try to use the Linux joystick code on Android (thanks, Martin!).
Fixes Bugzilla #3201.
2015-12-29 00:24:37 -05:00
Ryan C. Gordon
1599e941eb CMake: Fixed to work on Windows 8 SDK (thanks, Martin!).
Fixes Bugzilla #3207.
2015-12-29 00:02:43 -05:00
Alex Szpakowski
7ea66ca4bd Fix bug 3081: CMake configuration auto-disables OpenGL ES support on Windows.
Thanks to EntranceJew for the patch.
2015-08-28 19:10:46 -03:00
Alex Szpakowski
449589fbe8 Fixed bug 3098: CMake project never enables xinput support on Windows.
Thanks to EntranceJew for debugging the issue.
2015-08-28 19:05:24 -03:00
Ryan C. Gordon
aa941e48c9 CMake fixes for MingW (thanks, Ozkan!).
- ignore DXSDK_DIR for mingw environment
- use dxerr8 instead of dxerr for mingw.

Partially fixes Bugzilla #3016.
2015-06-18 22:34:39 -04:00
Sam Lantinga
6c13c2bf5c Fixed bug 3009 - Cannot compile SDL2 on Windows
CMakeLists.txt was missing handling for running CMake with -DDIRECTX=0
2015-06-13 10:47:55 -07:00
Ryan C. Gordon
1def23c4b1 CMake: default to shared library builds being enabled. 2015-06-07 20:15:09 -04:00
Ryan C. Gordon
9607613a10 CMake: Slightly better fix for installation target (thanks, Anthony!).
Fixes Bugzilla #2474.

--HG--
extra : rebase_source : cb0c8062e17b7d6d0bb4761e4ad3512a34b0a806
2015-04-22 20:25:19 -04:00