1# Locate SDL_image library 2# 3# This module defines: 4# 5# :: 6# 7# SDL_IMAGE_LIBRARIES, the name of the library to link against 8# SDL_IMAGE_INCLUDE_DIRS, where to find the headers 9# SDL_IMAGE_FOUND, if false, do not try to link against 10# SDL_IMAGE_VERSION_STRING - human-readable string containing the version of SDL_image 11# 12# 13# 14# For backward compatiblity the following variables are also set: 15# 16# :: 17# 18# SDLIMAGE_LIBRARY (same value as SDL_IMAGE_LIBRARIES) 19# SDLIMAGE_INCLUDE_DIR (same value as SDL_IMAGE_INCLUDE_DIRS) 20# SDLIMAGE_FOUND (same value as SDL_IMAGE_FOUND) 21# 22# 23# 24# $SDLDIR is an environment variable that would correspond to the 25# ./configure --prefix=$SDLDIR used in building SDL. 26# 27# Created by Eric Wing. This was influenced by the FindSDL.cmake 28# module, but with modifications to recognize OS X frameworks and 29# additional Unix paths (FreeBSD, etc). 30 31#============================================================================= 32# Copyright 2005-2009 Kitware, Inc. 33# Copyright 2012 Benjamin Eikel 34# 35# Distributed under the OSI-approved BSD License (the "License"); 36# see accompanying file Copyright.txt for details. 37# 38# This software is distributed WITHOUT ANY WARRANTY; without even the 39# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 40# See the License for more information. 41#============================================================================= 42# (To distribute this file outside of CMake, substitute the full 43# License text for the above reference.) 44 45find_path(SDL2_IMAGE_INCLUDE_DIR SDL_image.h 46 HINTS 47 ENV SDL2IMAGEDIR 48 ENV SDL2DIR 49 PATH_SUFFIXES SDL2 50 # path suffixes to search inside ENV{SDLDIR} 51 include/SDL2 include 52) 53 54if(CMAKE_SIZEOF_VOID_P EQUAL 8) 55 set(VC_LIB_PATH_SUFFIX lib/x64) 56else() 57 set(VC_LIB_PATH_SUFFIX lib/x86) 58endif() 59 60find_library(SDL2_IMAGE_LIBRARY 61 NAMES SDL2_image 62 HINTS 63 ENV SDL2IMAGEDIR 64 ENV SDL2DIR 65 PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX} 66) 67 68if(SDL2_IMAGE_INCLUDE_DIR AND EXISTS "${SDL2_IMAGE_INCLUDE_DIR}/SDL_image.h") 69 file(STRINGS "${SDL2_IMAGE_INCLUDE_DIR}/SDL_image.h" SDL_IMAGE_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_IMAGE_MAJOR_VERSION[ \t]+[0-9]+$") 70 file(STRINGS "${SDL2_IMAGE_INCLUDE_DIR}/SDL_image.h" SDL2_IMAGE_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL2_IMAGE_MINOR_VERSION[ \t]+[0-9]+$") 71 file(STRINGS "${SDL2_IMAGE_INCLUDE_DIR}/SDL_image.h" SDL2_IMAGE_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL2_IMAGE_PATCHLEVEL[ \t]+[0-9]+$") 72 string(REGEX REPLACE "^#define[ \t]+SDL2_IMAGE_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_IMAGE_VERSION_MAJOR "${SDL2_IMAGE_VERSION_MAJOR_LINE}") 73 string(REGEX REPLACE "^#define[ \t]+SDL2_IMAGE_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_IMAGE_VERSION_MINOR "${SDL2_IMAGE_VERSION_MINOR_LINE}") 74 string(REGEX REPLACE "^#define[ \t]+SDL2_IMAGE_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL2_IMAGE_VERSION_PATCH "${SDL2_IMAGE_VERSION_PATCH_LINE}") 75 set(SDL2_IMAGE_VERSION_STRING ${SDL2_IMAGE_VERSION_MAJOR}.${SDL2_IMAGE_VERSION_MINOR}.${SDL2_IMAGE_VERSION_PATCH}) 76 unset(SDL2_IMAGE_VERSION_MAJOR_LINE) 77 unset(SDL2_IMAGE_VERSION_MINOR_LINE) 78 unset(SDL2_IMAGE_VERSION_PATCH_LINE) 79 unset(SDL2_IMAGE_VERSION_MAJOR) 80 unset(SDL2_IMAGE_VERSION_MINOR) 81 unset(SDL2_IMAGE_VERSION_PATCH) 82endif() 83 84set(SDL2_IMAGE_LIBRARIES ${SDL2_IMAGE_LIBRARY}) 85set(SDL2_IMAGE_INCLUDE_DIRS ${SDL2_IMAGE_INCLUDE_DIR}) 86 87include(FindPackageHandleStandardArgs) 88 89FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2_image 90 REQUIRED_VARS SDL2_IMAGE_LIBRARIES SDL2_IMAGE_INCLUDE_DIRS 91 VERSION_VAR SDL2_IMAGE_VERSION_STRING) 92 93# for backward compatiblity 94#set(SDLIMAGE_LIBRARY ${SDL_IMAGE_LIBRARIES}) 95#set(SDLIMAGE_INCLUDE_DIR ${SDL_IMAGE_INCLUDE_DIRS}) 96#set(SDLIMAGE_FOUND ${SDL_IMAGE_FOUND}) 97 98mark_as_advanced(SDL2_IMAGE_LIBRARY SDL2_IMAGE_INCLUDE_DIR) 99