diff options
Diffstat (limited to 'Modules/FindSDL_mixer.cmake')
-rw-r--r-- | Modules/FindSDL_mixer.cmake | 99 |
1 files changed, 49 insertions, 50 deletions
diff --git a/Modules/FindSDL_mixer.cmake b/Modules/FindSDL_mixer.cmake index bea993d..a1a5423 100644 --- a/Modules/FindSDL_mixer.cmake +++ b/Modules/FindSDL_mixer.cmake @@ -1,8 +1,8 @@ -# - Locate the SDL_mixer library +# Locate SDL_mixer library # This module defines -# SDLMIXER_LIBRARY, library to link against -# SDLMIXER_FOUND, if false, do not try to link to SDL -# SDLMIXER_INCLUDE_DIR, where to find SDL/SDL.h +# SDLMIXER_LIBRARY, the name of the library to link against +# SDLMIXER_FOUND, if false, do not try to link to SDL +# SDLMIXER_INCLUDE_DIR, where to find SDL/SDL.h # # $SDLDIR is an environment variable that would # correspond to the ./configure --prefix=$SDLDIR @@ -12,14 +12,22 @@ # module, but with modifications to recognize OS X frameworks and # additional Unix paths (FreeBSD, etc). -# On OSX, this will prefer the Framework version (if found) over others. -# People will have to manually change the cache values of -# SDLMIXER_LIBRARY to override this selection. FIND_PATH(SDLMIXER_INCLUDE_DIR SDL_mixer.h - $ENV{SDLMIXERDIR}/include - $ENV{SDLDIR}/include - ~/Library/Frameworks/SDL_mixer.framework/Headers - /Library/Frameworks/SDL_mixer.framework/Headers + PATHS + $ENV{SDLMIXERDIR} + $ENV{SDLDIR} + NO_DEFAULT_PATH + PATH_SUFFIXES include +) +FIND_PATH(SDLMIXER_INCLUDE_DIR SDL_mixer.h + PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this. + NO_DEFAULT_PATH + PATH_SUFFIXES include +) +FIND_PATH(SDLMIXER_INCLUDE_DIR SDL_mixer.h + PATHS + ~/Library/Frameworks + /Library/Frameworks /usr/local/include/SDL /usr/include/SDL /usr/local/include/SDL12 @@ -36,47 +44,38 @@ FIND_PATH(SDLMIXER_INCLUDE_DIR SDL_mixer.h /opt/csw/include /opt/include/SDL /opt/include - ) -# I'm not sure if I should do a special casing for Apple. It is -# unlikely that other Unix systems will find the framework path. -# But if they do ([Next|Open|GNU]Step?), -# do they want the -framework option also? -IF(${SDLMIXER_INCLUDE_DIR} MATCHES ".framework") - # Extract the path the framework resides in so we can use it for the -F flag - STRING(REGEX REPLACE "(.*)/.*\\.framework/.*" "\\1" SDLMIXER_FRAMEWORK_PATH_TEMP ${SDLMIXER_INCLUDE_DIR}) - IF("${SDLMIXER_FRAMEWORK_PATH_TEMP}" STREQUAL "/Library/Frameworks" - OR "${SDLMIXER_FRAMEWORK_PATH_TEMP}" STREQUAL "/System/Library/Frameworks" - ) - # String is in default search path, don't need to use -F - SET(SDLMIXER_LIBRARY "-framework SDL_mixer" CACHE STRING "SDL_mixer framework for OSX") - ELSE("${SDLMIXER_FRAMEWORK_PATH_TEMP}" STREQUAL "/Library/Frameworks" - OR "${SDLMIXER_FRAMEWORK_PATH_TEMP}" STREQUAL "/System/Library/Frameworks" - ) - # String is not /Library/Frameworks, need to use -F - SET(SDLMIXER_LIBRARY "-F${SDLMIXER_FRAMEWORK_PATH_TEMP} -framework SDL_mixer" CACHE STRING "SDL_mixer framework for OSX") - ENDIF("${SDLMIXER_FRAMEWORK_PATH_TEMP}" STREQUAL "/Library/Frameworks" - OR "${SDLMIXER_FRAMEWORK_PATH_TEMP}" STREQUAL "/System/Library/Frameworks" - ) - # Clear the temp variable so nobody can see it - SET(SDLMIXER_FRAMEWORK_PATH_TEMP "" CACHE INTERNAL "") +) -ELSE(${SDLMIXER_INCLUDE_DIR} MATCHES ".framework") - FIND_LIBRARY(SDLMIXER_LIBRARY - NAMES SDL_mixer - PATHS - $ENV{SDLMIXERDIR}/lib - $ENV{SDLDIR}/lib - /usr/local/lib - /usr/lib - /sw/lib - /opt/local/lib - /opt/csw/lib - /opt/lib - ) -ENDIF(${SDLMIXER_INCLUDE_DIR} MATCHES ".framework") +FIND_LIBRARY(SDLMIXER_LIBRARY + NAMES SDL_mixer + PATHS + $ENV{SDLMIXERDIR} + $ENV{SDLDIR} + NO_DEFAULT_PATH + PATH_SUFFIXES lib64 lib +) +FIND_LIBRARY(SDLMIXER_LIBRARY + NAMES SDL_mixer + PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this. + NO_DEFAULT_PATH + PATH_SUFFIXES lib64 lib +) +FIND_LIBRARY(SDLMIXER_LIBRARY + NAMES SDL_mixer + PATHS + ~/Library/Frameworks + /Library/Frameworks + /usr/local + /usr + /sw + /opt/local + /opt/csw + /opt + PATH_SUFFIXES lib64 lib +) SET(SDLMIXER_FOUND "NO") -IF(SDLMIXER_LIBRARY) +IF(SDLMIXER_LIBRARY AND SDLMIXER_INCLUDE_DIR) SET(SDLMIXER_FOUND "YES") -ENDIF(SDLMIXER_LIBRARY) +ENDIF(SDLMIXER_LIBRARY AND SDLMIXER_INCLUDE_DIR) |