FindSDL¶
Locate the SDL library
Imported targets¶
New in version 3.19.
This module defines the following IMPORTED
target:
SDL::SDL
The SDL library, if found
Result variables¶
This module will set the following variables in your project:
SDL_INCLUDE_DIRS
where to find SDL.h
SDL_LIBRARIES
the name of the library to link against
SDL_FOUND
if false, do not try to link to SDL
SDL_VERSION
the human-readable string containing the version of SDL if found
SDL_VERSION_MAJOR
SDL major version
SDL_VERSION_MINOR
SDL minor version
SDL_VERSION_PATCH
SDL patch version
New in version 3.19: Added the SDL_INCLUDE_DIRS
, SDL_LIBRARIES
and SDL_VERSION[_<PART>]
variables.
Cache variables¶
These variables may optionally be set to help this module find the correct files:
SDL_INCLUDE_DIR
where to find SDL.h
SDL_LIBRARY
the name of the library to link against
Variables for locating SDL¶
This module responds to the flag:
SDL_BUILDING_LIBRARY
If this is defined, then no SDL_main will be linked in because only applications need main(). Otherwise, it is assumed you are building an application and this module will attempt to locate and set the proper link flags as part of the returned SDL_LIBRARY variable.
Obsolete variables¶
Deprecated since version 3.19.
These variables are obsolete and provided for backwards compatibility:
SDL_VERSION_STRING
the human-readable string containing the version of SDL if found. Identical to SDL_VERSION
Don't forget to include SDLmain.h and SDLmain.m your project for the OS X framework based version. (Other versions link to -lSDLmain which this module will try to find on your behalf.) Also for OS X, this module will automatically add the -framework Cocoa on your behalf.
Additional Note: If you see an empty SDL_LIBRARY_TEMP in your configuration and no SDL_LIBRARY, it means CMake did not find your SDL library (SDL.dll, libsdl.so, SDL.framework, etc). Set SDL_LIBRARY_TEMP to point to your SDL library, and configure again. Similarly, if you see an empty SDLMAIN_LIBRARY, you should set this value as appropriate. These values are used to generate the final SDL_LIBRARY variable, but when these values are unset, SDL_LIBRARY does not get created.
$SDLDIR is an environment variable that would correspond to the ./configure --prefix=$SDLDIR used in building SDL. l.e.galup 9-20-02
On OSX, this will prefer the Framework version (if found) over others. People will have to manually change the cache values of SDL_LIBRARY to override this selection or set the CMake environment CMAKE_INCLUDE_PATH to modify the search paths.
Note that the header path has changed from SDL/SDL.h to just SDL.h This needed to change because "proper" SDL convention is #include "SDL.h", not <SDL/SDL.h>. This is done for portability reasons because not all systems place things in SDL/ (see FreeBSD).