FindSDL

From Get docs
Cmake/docs/3.21/module/findsdl


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 . This is done for portability reasons because not all systems place things in SDL/ (see FreeBSD).

© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.21/module/FindSDL.html