1#------------------------------------------------------------------------------
2# External Project:     SDL2_ttf
3# Downloads:            https://libsdl.org/projects/SDL_ttf/
4#------------------------------------------------------------------------------
5
6include(ExternalProject)
7
8set(SDL2_TTF_VERSION "2.0.14")
9
10# For win32 it's faster to download the pre-compiled development binaries.
11if (WIN32)
12
13  if(MINGW) # download pre-compiled SDL2 dev package for MinGW 32/64-bit
14
15    ExternalProject_Add(
16      sdl2-ttf
17      DEPENDS sdl2
18      PREFIX ${DEPENDENCY_EXTRACT_DIR}
19      DOWNLOAD_DIR ${DEPENDENCY_DOWNLOAD_DIR}
20      URL https://libsdl.org/projects/SDL_ttf/release/SDL2_ttf-devel-${SDL2_TTF_VERSION}-mingw.tar.gz
21      URL_MD5 1
22      CONFIGURE_COMMAND ""
23      BUILD_COMMAND ""
24      INSTALL_COMMAND
25        COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPENDENCY_EXTRACT_DIR}/src/sdl2-ttf/lib     ${DEPENDENCY_INSTALL_DIR}/lib
26        COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPENDENCY_EXTRACT_DIR}/src/sdl2-ttf/include ${DEPENDENCY_INSTALL_DIR}/include/SDL2
27    )
28
29  endif(MINGW)
30
31  if(MSVC) # download pre-compiled SDL2 dev package for Visual C++ 32/64-bit
32
33    ExternalProject_Add(
34      sdl2-ttf
35      DEPENDS sdl2
36      PREFIX ${DEPENDENCY_EXTRACT_DIR}
37      DOWNLOAD_DIR ${DEPENDENCY_DOWNLOAD_DIR}
38      URL https://libsdl.org/projects/SDL_ttf/release/SDL2_ttf-devel-${SDL2_TTF_VERSION}-VC.zip
39      URL_MD5 304d4aa67fec7a5a8c3c47c4639b91e2
40      CONFIGURE_COMMAND ""
41      BUILD_COMMAND ""
42      INSTALL_COMMAND
43        COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPENDENCY_EXTRACT_DIR}/src/sdl2-ttf/lib     ${DEPENDENCY_INSTALL_DIR}/lib
44        COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPENDENCY_EXTRACT_DIR}/src/sdl2-ttf/include ${DEPENDENCY_INSTALL_DIR}/include/SDL2
45    )
46
47  endif(MSVC)
48
49else() # build from source
50
51  ExternalProject_Add(
52    freetype2
53    PREFIX ${DEPENDENCY_EXTRACT_DIR}
54    URL http://download.savannah.gnu.org/releases/freetype/freetype-2.4.12.tar.gz
55    URL_MD5 1
56    DOWNLOAD_DIR ${DOWNLOAD_DIR}
57    CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${DEPENDENCY_INSTALL_DIR}
58  )
59
60  ExternalProject_Add(
61    sdl2-ttf
62    DEPENDS freetype2
63    PREFIX ${DEPENDENCY_EXTRACT_DIR}
64    DOWNLOAD_DIR ${DEPENDENCY_DOWNLOAD_DIR}
65    URL https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-${SDL2_TTF_VERSION}.tar.gz
66    URL_MD5 1
67    CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${DEPENDENCY_INSTALL_DIR} --with-freetype-prefix=${DEPENDENCY_INSTALL_DIR}
68  )
69
70endif()