comparison cmake/packages/FindSDL2_image.cmake @ 182:3107ce017c3a

Misc: switch back to SDL Qt Quick and QML was an exciting experiment but it's definitely not enough flexible and easy to use for game development. Using SDL2 will let us focusing on our own drawing functions without any kind of overhead. While here, start massive cleanup.
author David Demelier <markand@malikania.fr>
date Fri, 19 Oct 2018 20:18:19 +0200
parents
children
comparison
equal deleted inserted replaced
181:fbfc2555bda5 182:3107ce017c3a
1 # - Locate SDL_image library
2 # This module defines:
3 # SDL2_IMAGE_LIBRARIES, the name of the library to link against
4 # SDL2_IMAGE_INCLUDE_DIRS, where to find the headers
5 # SDL2_IMAGE_FOUND, if false, do not try to link against
6 # SDL2_IMAGE_VERSION_STRING - human-readable string containing the version of SDL_image
7 #
8 # $SDLDIR is an environment variable that would
9 # correspond to the ./configure --prefix=$SDLDIR
10 # used in building SDL.
11 #
12 # Created by Eric Wing. This was influenced by the FindSDL.cmake
13 # module, but with modifications to recognize OS X frameworks and
14 # additional Unix paths (FreeBSD, etc).
15
16 #=============================================================================
17 # Copyright 2005-2009 Kitware, Inc.
18 # Copyright 2012 Benjamin Eikel
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 # (To distribute this file outside of CMake, substitute the full
28 # License text for the above reference.)
29
30 find_path(SDL2_IMAGE_INCLUDE_DIR SDL_image.h
31 HINTS
32 ENV SDLIMAGEDIR
33 ENV SDLDIR
34 PATH_SUFFIXES include/SDL2 include/SDL2.0 include
35 )
36
37 find_library(SDL2_IMAGE_LIBRARY
38 NAMES SDL2_image SDL2_image-2.0
39 HINTS
40 ENV SDLIMAGEDIR
41 ENV SDLDIR
42 PATH_SUFFIXES lib
43 )
44
45 if(SDL2_IMAGE_INCLUDE_DIR AND EXISTS "${SDL2_IMAGE_INCLUDE_DIR}/SDL_image.h")
46 file(STRINGS "${SDL2_IMAGE_INCLUDE_DIR}/SDL_image.h" SDL2_IMAGE_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_IMAGE_MAJOR_VERSION[ \t]+[0-9]+$")
47 file(STRINGS "${SDL2_IMAGE_INCLUDE_DIR}/SDL_image.h" SDL2_IMAGE_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_IMAGE_MINOR_VERSION[ \t]+[0-9]+$")
48 file(STRINGS "${SDL2_IMAGE_INCLUDE_DIR}/SDL_image.h" SDL2_IMAGE_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_IMAGE_PATCHLEVEL[ \t]+[0-9]+$")
49 string(REGEX REPLACE "^#define[ \t]+SDL_IMAGE_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_IMAGE_VERSION_MAJOR "${SDL2_IMAGE_VERSION_MAJOR_LINE}")
50 string(REGEX REPLACE "^#define[ \t]+SDL_IMAGE_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_IMAGE_VERSION_MINOR "${SDL2_IMAGE_VERSION_MINOR_LINE}")
51 string(REGEX REPLACE "^#define[ \t]+SDL_IMAGE_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL2_IMAGE_VERSION_PATCH "${SDL2_IMAGE_VERSION_PATCH_LINE}")
52 set(SDL2_IMAGE_VERSION_STRING ${SDL2_IMAGE_VERSION_MAJOR}.${SDL2_IMAGE_VERSION_MINOR}.${SDL2_IMAGE_VERSION_PATCH})
53 unset(SDL2_IMAGE_VERSION_MAJOR_LINE)
54 unset(SDL2_IMAGE_VERSION_MINOR_LINE)
55 unset(SDL2_IMAGE_VERSION_PATCH_LINE)
56 unset(SDL2_IMAGE_VERSION_MAJOR)
57 unset(SDL2_IMAGE_VERSION_MINOR)
58 unset(SDL2_IMAGE_VERSION_PATCH)
59 endif()
60
61 set(SDL2_IMAGE_LIBRARIES ${SDL2_IMAGE_LIBRARY})
62 set(SDL2_IMAGE_INCLUDE_DIRS ${SDL2_IMAGE_INCLUDE_DIR})
63
64 include(FindPackageHandleStandardArgs)
65
66 FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2_image
67 REQUIRED_VARS SDL2_IMAGE_LIBRARIES SDL2_IMAGE_INCLUDE_DIRS
68 VERSION_VAR SDL2_IMAGE_VERSION_STRING)
69
70 mark_as_advanced(SDL2_IMAGE_LIBRARY SDL2_IMAGE_INCLUDE_DIR)