1# - Locate SDL2_ttf library (modified from Cmake's FindSDL_ttf.cmake) 2# This module defines: 3# SDL2_TTF_LIBRARIES, the name of the library to link against 4# SDL2_TTF_INCLUDE_DIRS, where to find the headers 5# SDL2_TTF_FOUND, if false, do not try to link against 6# SDL2_TTF_VERSION_STRING - human-readable string containing the version of SDL2_ttf 7# 8# For backward compatiblity the following variables are also set: 9# SDL2TTF_LIBRARY (same value as SDL2_TTF_LIBRARIES) 10# SDL2TTF_INCLUDE_DIR (same value as SDL2_TTF_INCLUDE_DIRS) 11# SDL2TTF_FOUND (same value as SDL2_TTF_FOUND) 12# 13# $SDLDIR is an environment variable that would 14# correspond to the ./configure --prefix=$SDLDIR 15# used in building SDL. 16# 17#============================================================================= 18# Copyright 2014 Justin Jacobs 19# 20# Distributed under the OSI-approved BSD License (the "License"); 21# see accompanying file Copyright.txt for details. 22# 23# This software is distributed WITHOUT ANY WARRANTY; without even the 24# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 25# See the License for more information. 26#============================================================================= 27 28if(NOT SDL2_TTF_INCLUDE_DIR AND SDL2TTF_INCLUDE_DIR) 29 set(SDL2_TTF_INCLUDE_DIR ${SDL2TTF_INCLUDE_DIR} CACHE PATH "directory cache 30entry initialized from old variable name") 31endif() 32find_path(SDL2_TTF_INCLUDE_DIR SDL_ttf.h 33 HINTS 34 ENV SDLTTFDIR 35 ENV SDLDIR 36 PATH_SUFFIXES include/SDL2 include headers/SDL2 headers 37) 38 39if(NOT SDL2_TTF_LIBRARY AND SDL2TTF_LIBRARY) 40 set(SDL2_TTF_LIBRARY ${SDLTTF_LIBRARY} CACHE FILEPATH "file cache entry 41initialized from old variable name") 42endif() 43find_library(SDL2_TTF_LIBRARY 44 NAMES SDL2_ttf 45 HINTS 46 ENV SDLTTFDIR 47 ENV SDLDIR 48 PATH_SUFFIXES lib 49) 50 51if(SDL2_TTF_INCLUDE_DIR AND EXISTS "${SDL2_TTF_INCLUDE_DIR}/SDL_ttf.h") 52 file(STRINGS "${SDL2_TTF_INCLUDE_DIR}/SDL_ttf.h" SDL2_TTF_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_TTF_MAJOR_VERSION[ \t]+[0-9]+$") 53 file(STRINGS "${SDL2_TTF_INCLUDE_DIR}/SDL_ttf.h" SDL2_TTF_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_TTF_MINOR_VERSION[ \t]+[0-9]+$") 54 file(STRINGS "${SDL2_TTF_INCLUDE_DIR}/SDL_ttf.h" SDL2_TTF_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_TTF_PATCHLEVEL[ \t]+[0-9]+$") 55 string(REGEX REPLACE "^#define[ \t]+SDL_TTF_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_TTF_VERSION_MAJOR "${SDL2_TTF_VERSION_MAJOR_LINE}") 56 string(REGEX REPLACE "^#define[ \t]+SDL_TTF_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_TTF_VERSION_MINOR "${SDL2_TTF_VERSION_MINOR_LINE}") 57 string(REGEX REPLACE "^#define[ \t]+SDL_TTF_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL2_TTF_VERSION_PATCH "${SDL2_TTF_VERSION_PATCH_LINE}") 58 set(SDL2_TTF_VERSION_STRING ${SDL2_TTF_VERSION_MAJOR}.${SDL2_TTF_VERSION_MINOR}.${SDL2_TTF_VERSION_PATCH}) 59 unset(SDL2_TTF_VERSION_MAJOR_LINE) 60 unset(SDL2_TTF_VERSION_MINOR_LINE) 61 unset(SDL2_TTF_VERSION_PATCH_LINE) 62 unset(SDL2_TTF_VERSION_MAJOR) 63 unset(SDL2_TTF_VERSION_MINOR) 64 unset(SDL2_TTF_VERSION_PATCH) 65endif() 66 67set(SDL2_TTF_LIBRARIES ${SDL2_TTF_LIBRARY}) 68set(SDL2_TTF_INCLUDE_DIRS ${SDL2_TTF_INCLUDE_DIR}) 69 70include(FindPackageHandleStandardArgs) 71 72FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2_ttf 73 REQUIRED_VARS SDL2_TTF_LIBRARIES SDL2_TTF_INCLUDE_DIRS 74 VERSION_VAR SDL2_TTF_VERSION_STRING) 75 76# for backward compatiblity 77set(SDL2TTF_LIBRARY ${SDL2_TTF_LIBRARIES}) 78set(SDL2TTF_INCLUDE_DIR ${SDL2_TTF_INCLUDE_DIRS}) 79set(SDL2TTF_FOUND ${SDL2_TTF_FOUND}) 80 81mark_as_advanced(SDL2_TTF_LIBRARY SDL2_TTF_INCLUDE_DIR) 82