diff options
Diffstat (limited to 'Modules/FindSDL_image.cmake')
-rw-r--r-- | Modules/FindSDL_image.cmake | 99 |
1 files changed, 49 insertions, 50 deletions
diff --git a/Modules/FindSDL_image.cmake b/Modules/FindSDL_image.cmake index 4cef461..e1680ea 100644 --- a/Modules/FindSDL_image.cmake +++ b/Modules/FindSDL_image.cmake @@ -1,8 +1,8 @@ -# - Locate SDL_image library +# Locate SDL_image library # This module defines -# SDLIMAGE_LIBRARY, the library to link against -# SDLIMAGE_FOUND, if false, do not try to link to SDL -# SDLIMAGE_INCLUDE_DIR, where to find SDL/SDL.h +# SDLIMAGE_LIBRARY, the name of the library to link against +# SDLIMAGE_FOUND, if false, do not try to link to SDL +# SDLIMAGE_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 -# SDLIMAGE_LIBRARY to override this selection. FIND_PATH(SDLIMAGE_INCLUDE_DIR SDL_image.h - $ENV{SDLIMAGEDIR}/include - $ENV{SDLDIR}/include - ~/Library/Frameworks/SDL_image.framework/Headers - /Library/Frameworks/SDL_image.framework/Headers + PATHS + $ENV{SDLIMAGEDIR} + $ENV{SDLDIR} + NO_DEFAULT_PATH + PATH_SUFFIXES include +) +FIND_PATH(SDLIMAGE_INCLUDE_DIR SDL_image.h + PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this. + NO_DEFAULT_PATH + PATH_SUFFIXES include +) +FIND_PATH(SDLIMAGE_INCLUDE_DIR SDL_image.h + PATHS + ~/Library/Frameworks + /Library/Frameworks /usr/local/include/SDL /usr/include/SDL /usr/local/include/SDL12 @@ -36,47 +44,38 @@ FIND_PATH(SDLIMAGE_INCLUDE_DIR SDL_image.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(${SDLIMAGE_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" SDLIMAGE_FRAMEWORK_PATH_TEMP ${SDLIMAGE_INCLUDE_DIR}) - IF("${SDLIMAGE_FRAMEWORK_PATH_TEMP}" STREQUAL "/Library/Frameworks" - OR "${SDLIMAGE_FRAMEWORK_PATH_TEMP}" STREQUAL "/System/Library/Frameworks" - ) - # String is in default search path, don't need to use -F - SET(SDLIMAGE_LIBRARY "-framework SDL_image" CACHE STRING "SDL_image framework for OSX") - ELSE("${SDLIMAGE_FRAMEWORK_PATH_TEMP}" STREQUAL "/Library/Frameworks" - OR "${SDLIMAGE_FRAMEWORK_PATH_TEMP}" STREQUAL "/System/Library/Frameworks" - ) - # String is not /Library/Frameworks, need to use -F - SET(SDLIMAGE_LIBRARY "-F${SDLIMAGE_FRAMEWORK_PATH_TEMP} -framework SDL_image" CACHE STRING "SDL_image framework for OSX") - ENDIF("${SDLIMAGE_FRAMEWORK_PATH_TEMP}" STREQUAL "/Library/Frameworks" - OR "${SDLIMAGE_FRAMEWORK_PATH_TEMP}" STREQUAL "/System/Library/Frameworks" - ) - # Clear the temp variable so nobody can see it - SET(SDLIMAGE_FRAMEWORK_PATH_TEMP "" CACHE INTERNAL "") +) -ELSE(${SDLIMAGE_INCLUDE_DIR} MATCHES ".framework") - FIND_LIBRARY(SDLIMAGE_LIBRARY - NAMES SDL_image - PATHS - $ENV{SDLIMAGEDIR}/lib - $ENV{SDLDIR}/lib - /usr/local/lib - /usr/lib - /sw/lib - /opt/local/lib - /opt/csw/lib - /opt/lib - ) -ENDIF(${SDLIMAGE_INCLUDE_DIR} MATCHES ".framework") +FIND_LIBRARY(SDLIMAGE_LIBRARY + NAMES SDL_image + PATHS + $ENV{SDLIMAGEDIR} + $ENV{SDLDIR} + NO_DEFAULT_PATH + PATH_SUFFIXES lib64 lib +) +FIND_LIBRARY(SDLIMAGE_LIBRARY + NAMES SDL_image + PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this. + NO_DEFAULT_PATH + PATH_SUFFIXES lib64 lib +) +FIND_LIBRARY(SDLIMAGE_LIBRARY + NAMES SDL_image + PATHS + ~/Library/Frameworks + /Library/Frameworks + /usr/local + /usr + /sw + /opt/local + /opt/csw + /opt + PATH_SUFFIXES lib64 lib +) SET(SDLIMAGE_FOUND "NO") -IF(SDLIMAGE_LIBRARY) +IF(SDLIMAGE_LIBRARY AND SDLIMAGE_INCLUDE_DIR) SET(SDLIMAGE_FOUND "YES") -ENDIF(SDLIMAGE_LIBRARY) +ENDIF(SDLIMAGE_LIBRARY AND SDLIMAGE_INCLUDE_DIR) |