diff options
Diffstat (limited to 'Modules/FindSDL_sound.cmake')
-rw-r--r-- | Modules/FindSDL_sound.cmake | 157 |
1 files changed, 79 insertions, 78 deletions
diff --git a/Modules/FindSDL_sound.cmake b/Modules/FindSDL_sound.cmake index cf33a4c..e217981 100644 --- a/Modules/FindSDL_sound.cmake +++ b/Modules/FindSDL_sound.cmake @@ -1,84 +1,85 @@ # Distributed under the OSI-approved BSD 3-Clause License. See accompanying # file Copyright.txt or https://cmake.org/licensing for details. -#.rst: -# FindSDL_sound -# ------------- -# -# Locates the SDL_sound library -# -# -# -# This module depends on SDL being found and must be called AFTER -# FindSDL.cmake is called. -# -# This module defines -# -# :: -# -# SDL_SOUND_INCLUDE_DIR, where to find SDL_sound.h -# SDL_SOUND_FOUND, if false, do not try to link to SDL_sound -# SDL_SOUND_LIBRARIES, this contains the list of libraries that you need -# to link against. -# SDL_SOUND_EXTRAS, this is an optional variable for you to add your own -# flags to SDL_SOUND_LIBRARIES. This is prepended to SDL_SOUND_LIBRARIES. -# This is available mostly for cases this module failed to anticipate for -# and you must add additional flags. This is marked as ADVANCED. -# SDL_SOUND_VERSION_STRING, human-readable string containing the -# version of SDL_sound -# -# -# -# This module also defines (but you shouldn't need to use directly) -# -# :: -# -# SDL_SOUND_LIBRARY, the name of just the SDL_sound library you would link -# against. Use SDL_SOUND_LIBRARIES for you link instructions and not this one. -# -# And might define the following as needed -# -# :: -# -# MIKMOD_LIBRARY -# MODPLUG_LIBRARY -# OGG_LIBRARY -# VORBIS_LIBRARY -# SMPEG_LIBRARY -# FLAC_LIBRARY -# SPEEX_LIBRARY -# -# -# -# Typically, you should not use these variables directly, and you should -# use SDL_SOUND_LIBRARIES which contains SDL_SOUND_LIBRARY and the other -# audio libraries (if needed) to successfully compile on your system. -# -# Created by Eric Wing. This module is a bit more complicated than the -# other FindSDL* family modules. The reason is that SDL_sound can be -# compiled in a large variety of different ways which are independent of -# platform. SDL_sound may dynamically link against other 3rd party -# libraries to get additional codec support, such as Ogg Vorbis, SMPEG, -# ModPlug, MikMod, FLAC, Speex, and potentially others. Under some -# circumstances which I don't fully understand, there seems to be a -# requirement that dependent libraries of libraries you use must also be -# explicitly linked against in order to successfully compile. SDL_sound -# does not currently have any system in place to know how it was -# compiled. So this CMake module does the hard work in trying to -# discover which 3rd party libraries are required for building (if any). -# This module uses a brute force approach to create a test program that -# uses SDL_sound, and then tries to build it. If the build fails, it -# parses the error output for known symbol names to figure out which -# libraries are needed. -# -# Responds to the $SDLDIR and $SDLSOUNDDIR environmental variable that -# would correspond to the ./configure --prefix=$SDLDIR used in building -# SDL. -# -# 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 selectionor set the CMake environment CMAKE_INCLUDE_PATH -# to modify the search paths. +#[=======================================================================[.rst: +FindSDL_sound +------------- + +Locates the SDL_sound library + + + +This module depends on SDL being found and must be called AFTER +FindSDL.cmake is called. + +This module defines + +:: + + SDL_SOUND_INCLUDE_DIR, where to find SDL_sound.h + SDL_SOUND_FOUND, if false, do not try to link to SDL_sound + SDL_SOUND_LIBRARIES, this contains the list of libraries that you need + to link against. + SDL_SOUND_EXTRAS, this is an optional variable for you to add your own + flags to SDL_SOUND_LIBRARIES. This is prepended to SDL_SOUND_LIBRARIES. + This is available mostly for cases this module failed to anticipate for + and you must add additional flags. This is marked as ADVANCED. + SDL_SOUND_VERSION_STRING, human-readable string containing the + version of SDL_sound + + + +This module also defines (but you shouldn't need to use directly) + +:: + + SDL_SOUND_LIBRARY, the name of just the SDL_sound library you would link + against. Use SDL_SOUND_LIBRARIES for you link instructions and not this one. + +And might define the following as needed + +:: + + MIKMOD_LIBRARY + MODPLUG_LIBRARY + OGG_LIBRARY + VORBIS_LIBRARY + SMPEG_LIBRARY + FLAC_LIBRARY + SPEEX_LIBRARY + + + +Typically, you should not use these variables directly, and you should +use SDL_SOUND_LIBRARIES which contains SDL_SOUND_LIBRARY and the other +audio libraries (if needed) to successfully compile on your system. + +Created by Eric Wing. This module is a bit more complicated than the +other FindSDL* family modules. The reason is that SDL_sound can be +compiled in a large variety of different ways which are independent of +platform. SDL_sound may dynamically link against other 3rd party +libraries to get additional codec support, such as Ogg Vorbis, SMPEG, +ModPlug, MikMod, FLAC, Speex, and potentially others. Under some +circumstances which I don't fully understand, there seems to be a +requirement that dependent libraries of libraries you use must also be +explicitly linked against in order to successfully compile. SDL_sound +does not currently have any system in place to know how it was +compiled. So this CMake module does the hard work in trying to +discover which 3rd party libraries are required for building (if any). +This module uses a brute force approach to create a test program that +uses SDL_sound, and then tries to build it. If the build fails, it +parses the error output for known symbol names to figure out which +libraries are needed. + +Responds to the $SDLDIR and $SDLSOUNDDIR environmental variable that +would correspond to the ./configure --prefix=$SDLDIR used in building +SDL. + +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 selectionor set the CMake environment CMAKE_INCLUDE_PATH +to modify the search paths. +#]=======================================================================] set(SDL_SOUND_EXTRAS "" CACHE STRING "SDL_sound extra flags") mark_as_advanced(SDL_SOUND_EXTRAS) |