diff options
Diffstat (limited to 'Modules/FindSDL_ttf.cmake')
-rw-r--r-- | Modules/FindSDL_ttf.cmake | 104 |
1 files changed, 53 insertions, 51 deletions
diff --git a/Modules/FindSDL_ttf.cmake b/Modules/FindSDL_ttf.cmake index 39c6207..f77664e 100644 --- a/Modules/FindSDL_ttf.cmake +++ b/Modules/FindSDL_ttf.cmake @@ -1,23 +1,34 @@ -# - Locate SDL_ttf library +# Locate SDL_ttf library # This module defines -# SDLTTF_LIBRARY, the library to link against -# SDLTTF_FOUND, if false, do not try to link to SDL -# SDLTTF_INCLUDE_DIR, where to find SDL/SDL.h -# +# SDLTTF_LIBRARY, the name of the library to link against +# SDLTTF_FOUND, if false, do not try to link to SDL +# SDLTTF_INCLUDE_DIR, where to find SDL/SDL.h +# # $SDLDIR is an environment variable that would # correspond to the ./configure --prefix=$SDLDIR # used in building SDL. +# # Created by Eric Wing. This was influenced by the FindSDL.cmake # 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 -# SDLTTF_LIBRARY to override this selection. + + +FIND_PATH(SDLTTF_INCLUDE_DIR SDL_ttf.h + PATHS + $ENV{SDLTTFDIR} + $ENV{SDLDIR} + NO_DEFAULT_PATH + PATH_SUFFIXES include +) +FIND_PATH(SDLTTF_INCLUDE_DIR SDL_ttf.h + PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this. + NO_DEFAULT_PATH + PATH_SUFFIXES include +) FIND_PATH(SDLTTF_INCLUDE_DIR SDL_ttf.h - $ENV{SDLTTFDIR}/include - $ENV{SDLDIR}/include - ~/Library/Frameworks/SDL_ttf.framework/Headers - /Library/Frameworks/SDL_ttf.framework/Headers + PATHS + ~/Library/Frameworks + /Library/Frameworks /usr/local/include/SDL /usr/include/SDL /usr/local/include/SDL12 @@ -34,47 +45,38 @@ FIND_PATH(SDLTTF_INCLUDE_DIR SDL_ttf.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(${SDLTTF_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" SDLTTF_FRAMEWORK_PATH_TEMP ${SDLTTF_INCLUDE_DIR}) - IF("${SDLTTF_FRAMEWORK_PATH_TEMP}" STREQUAL "/Library/Frameworks" - OR "${SDLTTF_FRAMEWORK_PATH_TEMP}" STREQUAL "/System/Library/Frameworks" - ) - # String is in default search path, don't need to use -F - SET(SDLTTF_LIBRARY "-framework SDL_ttf" CACHE STRING "SDL_ttf framework for OSX") - ELSE("${SDLTTF_FRAMEWORK_PATH_TEMP}" STREQUAL "/Library/Frameworks" - OR "${SDLTTF_FRAMEWORK_PATH_TEMP}" STREQUAL "/System/Library/Frameworks" - ) - # String is not /Library/Frameworks, need to use -F - SET(SDLTTF_LIBRARY "-F${SDLTTF_FRAMEWORK_PATH_TEMP} -framework SDL_ttf" CACHE STRING "SDL_ttf framework for OSX") - ENDIF("${SDLTTF_FRAMEWORK_PATH_TEMP}" STREQUAL "/Library/Frameworks" - OR "${SDLTTF_FRAMEWORK_PATH_TEMP}" STREQUAL "/System/Library/Frameworks" - ) - # Clear the temp variable so nobody can see it - SET(SDLTTF_FRAMEWORK_PATH_TEMP "" CACHE INTERNAL "") +) -ELSE(${SDLTTF_INCLUDE_DIR} MATCHES ".framework") - FIND_LIBRARY(SDLTTF_LIBRARY - NAMES SDL_ttf - PATHS - $ENV{SDLTTFDIR}/lib - $ENV{SDLDIR}/lib - /usr/local/lib - /usr/lib - /sw/lib - /opt/local/lib - /opt/csw/lib - /opt/lib - ) -ENDIF(${SDLTTF_INCLUDE_DIR} MATCHES ".framework") +FIND_LIBRARY(SDLTTF_LIBRARY + NAMES SDL_ttf + PATHS + $ENV{SDLTTFDIR} + $ENV{SDLDIR} + NO_DEFAULT_PATH + PATH_SUFFIXES lib64 lib +) +FIND_LIBRARY(SDLTTF_LIBRARY + NAMES SDL_ttf + PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this. + NO_DEFAULT_PATH + PATH_SUFFIXES lib64 lib +) +FIND_LIBRARY(SDLTTF_LIBRARY + NAMES SDL_ttf + PATHS + ~/Library/Frameworks + /Library/Frameworks + /usr/local + /usr + /sw + /opt/local + /opt/csw + /opt + PATH_SUFFIXES lib64 lib +) SET(SDLTTF_FOUND "NO") -IF(SDLTTF_LIBRARY) +IF(SDLTTF_LIBRARY AND SDLTTF_INCLUDE_DIR) SET(SDLTTF_FOUND "YES") -ENDIF(SDLTTF_LIBRARY) +ENDIF(SDLTTF_LIBRARY AND SDLTTF_INCLUDE_DIR) |