cmake_modules/FindSDL2_ttf.cmake
author nemo
Fri, 13 Oct 2017 16:37:56 -0400
changeset 12701 79e13080b9db
parent 12383 e3d9abcc427a
permissions -rw-r--r--
mark up sprites for uStore loading. critical is for ones needed for proper gameplay, checksum is for ones where the game will desync if they don't match. will add checksumming next...
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9677
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
     1
# - Locate SDL2_ttf library
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
     2
# This module defines:
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
     3
#  SDL2_TTF_LIBRARIES, the name of the library to link against
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
     4
#  SDL2_TTF_INCLUDE_DIRS, where to find the headers
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
     5
#  SDL2_TTF_FOUND, if false, do not try to link against
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
     6
#  SDL2_TTF_VERSION_STRING - human-readable string containing the version of SDL2_ttf
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
     7
#
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
     8
# For backward compatiblity the following variables are also set:
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
     9
#  SDL2TTF_LIBRARY (same value as SDL2_TTF_LIBRARIES)
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    10
#  SDL2TTF_INCLUDE_DIR (same value as SDL2_TTF_INCLUDE_DIRS)
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    11
#  SDL2TTF_FOUND (same value as SDL2_TTF_FOUND)
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    12
#
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    13
# $SDL2DIR is an environment variable that would
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    14
# correspond to the ./configure --prefix=$SDL2DIR
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    15
# used in building SDL2.
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    16
#
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    17
# Created by Eric Wing. This was influenced by the FindSDL2.cmake
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    18
# module, but with modifications to recognize OS X frameworks and
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    19
# additional Unix paths (FreeBSD, etc).
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    20
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    21
#=============================================================================
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    22
# Copyright 2005-2009 Kitware, Inc.
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    23
# Copyright 2012 Benjamin Eikel
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    24
#
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    25
# Distributed under the OSI-approved BSD License (the "License");
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    26
# see accompanying file Copyright.txt for details.
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    27
#
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    28
# This software is distributed WITHOUT ANY WARRANTY; without even the
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    29
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    30
# See the License for more information.
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    31
#=============================================================================
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    32
# (To distribute this file outside of CMake, substitute the full
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    33
#  License text for the above reference.)
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    34
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    35
if(NOT SDL2_TTF_INCLUDE_DIR AND SDL2TTF_INCLUDE_DIR)
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    36
  set(SDL2_TTF_INCLUDE_DIR ${SDL2TTF_INCLUDE_DIR} CACHE PATH "directory cache
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    37
entry initialized from old variable name")
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    38
endif()
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    39
find_path(SDL2_TTF_INCLUDE_DIR SDL_ttf.h
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    40
  HINTS
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    41
    ENV SDL2TTFDIR
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    42
    ENV SDL2DIR
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    43
  PATH_SUFFIXES include/SDL2 include
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    44
)
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    45
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    46
if(NOT SDL2_TTF_LIBRARY AND SDL2TTF_LIBRARY)
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    47
  set(SDL2_TTF_LIBRARY ${SDL2TTF_LIBRARY} CACHE FILEPATH "file cache entry
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    48
initialized from old variable name")
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    49
endif()
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    50
find_library(SDL2_TTF_LIBRARY
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    51
  NAMES SDL2_ttf
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    52
  HINTS
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    53
    ENV SDL2TTFDIR
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    54
    ENV SDL2DIR
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    55
  PATH_SUFFIXES lib
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    56
)
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    57
12383
e3d9abcc427a cmake: Fix SDL2 header version detection
sheepluva
parents: 11657
diff changeset
    58
if(SDL2_TTF_INCLUDE_DIR AND EXISTS "${SDL2_TTF_INCLUDE_DIR}/SDL_ttf.h")
e3d9abcc427a cmake: Fix SDL2 header version detection
sheepluva
parents: 11657
diff changeset
    59
  file(STRINGS "${SDL2_TTF_INCLUDE_DIR}/SDL_ttf.h" SDL2_TTF_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_TTF_MAJOR_VERSION[ \t]+[0-9]+$")
e3d9abcc427a cmake: Fix SDL2 header version detection
sheepluva
parents: 11657
diff changeset
    60
  file(STRINGS "${SDL2_TTF_INCLUDE_DIR}/SDL_ttf.h" SDL2_TTF_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_TTF_MINOR_VERSION[ \t]+[0-9]+$")
e3d9abcc427a cmake: Fix SDL2 header version detection
sheepluva
parents: 11657
diff changeset
    61
  file(STRINGS "${SDL2_TTF_INCLUDE_DIR}/SDL_ttf.h" SDL2_TTF_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_TTF_PATCHLEVEL[ \t]+[0-9]+$")
e3d9abcc427a cmake: Fix SDL2 header version detection
sheepluva
parents: 11657
diff changeset
    62
  string(REGEX REPLACE "^#define[ \t]+SDL_TTF_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_TTF_VERSION_MAJOR "${SDL2_TTF_VERSION_MAJOR_LINE}")
e3d9abcc427a cmake: Fix SDL2 header version detection
sheepluva
parents: 11657
diff changeset
    63
  string(REGEX REPLACE "^#define[ \t]+SDL_TTF_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_TTF_VERSION_MINOR "${SDL2_TTF_VERSION_MINOR_LINE}")
e3d9abcc427a cmake: Fix SDL2 header version detection
sheepluva
parents: 11657
diff changeset
    64
  string(REGEX REPLACE "^#define[ \t]+SDL_TTF_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL2_TTF_VERSION_PATCH "${SDL2_TTF_VERSION_PATCH_LINE}")
9677
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    65
  set(SDL2_TTF_VERSION_STRING ${SDL2_TTF_VERSION_MAJOR}.${SDL2_TTF_VERSION_MINOR}.${SDL2_TTF_VERSION_PATCH})
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    66
  unset(SDL2_TTF_VERSION_MAJOR_LINE)
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    67
  unset(SDL2_TTF_VERSION_MINOR_LINE)
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    68
  unset(SDL2_TTF_VERSION_PATCH_LINE)
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    69
  unset(SDL2_TTF_VERSION_MAJOR)
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    70
  unset(SDL2_TTF_VERSION_MINOR)
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    71
  unset(SDL2_TTF_VERSION_PATCH)
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    72
endif()
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    73
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    74
set(SDL2_TTF_LIBRARIES ${SDL2_TTF_LIBRARY})
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    75
set(SDL2_TTF_INCLUDE_DIRS ${SDL2_TTF_INCLUDE_DIR})
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    76
11657
ae6706411b24 Hijack SDL2 and GLEW include and library when compiling to javascript
koda
parents: 9677
diff changeset
    77
if(BUILD_ENGINE_JS)
ae6706411b24 Hijack SDL2 and GLEW include and library when compiling to javascript
koda
parents: 9677
diff changeset
    78
    set(SDL2_TTF_LIBRARY "sdl2_ttf_emscripten_internal")
ae6706411b24 Hijack SDL2 and GLEW include and library when compiling to javascript
koda
parents: 9677
diff changeset
    79
    set(SDL2_TTF_LIBRARIES "sdl2_ttf_emscripten_internal")
ae6706411b24 Hijack SDL2 and GLEW include and library when compiling to javascript
koda
parents: 9677
diff changeset
    80
    set(SDL2_TTF_INCLUDE_DIRS "${CMAKE_SYSTEM_INCLUDE_PATH}/SDL")
ae6706411b24 Hijack SDL2 and GLEW include and library when compiling to javascript
koda
parents: 9677
diff changeset
    81
endif()
ae6706411b24 Hijack SDL2 and GLEW include and library when compiling to javascript
koda
parents: 9677
diff changeset
    82
9677
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    83
include(FindPackageHandleStandardArgs)
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    84
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    85
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2_ttf
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    86
                                  REQUIRED_VARS SDL2_TTF_LIBRARIES SDL2_TTF_INCLUDE_DIRS
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    87
                                  VERSION_VAR SDL2_TTF_VERSION_STRING)
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    88
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    89
# for backward compatiblity
12383
e3d9abcc427a cmake: Fix SDL2 header version detection
sheepluva
parents: 11657
diff changeset
    90
set(SDLTTF_LIBRARY ${SDL2_TTF_LIBRARIES})
e3d9abcc427a cmake: Fix SDL2 header version detection
sheepluva
parents: 11657
diff changeset
    91
set(SDLTTF_INCLUDE_DIR ${SDL2_TTF_INCLUDE_DIRS})
e3d9abcc427a cmake: Fix SDL2 header version detection
sheepluva
parents: 11657
diff changeset
    92
set(SDLTTF_FOUND ${SDL2_TTF_FOUND})
9677
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    93
71626318f80e - Use USESDL12 for old SDL
unc0rr
parents:
diff changeset
    94
mark_as_advanced(SDL2_TTF_LIBRARY SDL2_TTF_INCLUDE_DIR)