Skip to content

Commit 5f7b524

Browse files
committed
libs: make FreeType a submodule
1 parent 99fa09d commit 5f7b524

File tree

4 files changed

+47
-1
lines changed

4 files changed

+47
-1
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
[submodule "libs/crunch"]
55
path = libs/crunch
66
url = https://github.com/DaemonEngine/crunch.git
7+
[submodule "libs/freetype"]
8+
path = libs/freetype
9+
url = https://github.com/DaemonEngine/freetype.git
710
[submodule "libs/googletest"]
811
path = libs/googletest
912
url = https://github.com/DaemonEngine/googletest.git

CMakeLists.txt

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -791,6 +791,22 @@ if (USE_BREAKPAD)
791791
endif()
792792
endif()
793793

794+
option(PREFER_EXTERNAL_LIBS "Tries to use system libs where possible." ON)
795+
796+
macro(prefer_package LIB_NAME LIB_CMAKE)
797+
if (PREFER_EXTERNAL_LIBS AND NOT NACL)
798+
find_package(${LIB_NAME})
799+
800+
if (NOT ${LIB_NAME}_FOUND)
801+
message(WARNING "PREFER_EXTERNAL_LIBS is enabled but external ${LIB_NAME} is not found, falling back to vendored ${LIB_NAME}.")
802+
endif()
803+
endif()
804+
805+
if (NOT ${LIB_NAME}_FOUND)
806+
include(${LIB_CMAKE})
807+
endif()
808+
endmacro()
809+
794810
if (BUILD_CLIENT)
795811
find_package(Ogg REQUIRED)
796812
include_directories(${OGG_INCLUDE_DIRS})
@@ -816,7 +832,8 @@ if (BUILD_CLIENT)
816832
include_directories(${PNG_INCLUDE_DIRS})
817833
set(LIBS_CLIENT ${LIBS_CLIENT} ${PNG_LIBRARIES})
818834

819-
find_package(Freetype REQUIRED)
835+
prefer_package(Freetype ${DAEMON_DIR}/freetype.cmake)
836+
820837
include_directories(${FREETYPE_INCLUDE_DIRS})
821838
set(LIBS_CLIENT ${LIBS_CLIENT} ${FREETYPE_LIBRARIES})
822839

freetype.cmake

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
set(FREETYPE_DIR ${DAEMON_DIR}/libs/freetype)
2+
set(FREETYPE_INCLUDE_DIRS ${FREETYPE_DIR}/include)
3+
set(FREETYPE_LIBRARIES freetype)
4+
5+
option(FT_DISABLE_BROTLI "Disable Brotli" ON)
6+
option(FT_DISABLE_BZIP2 "Disable bzip2" ON)
7+
option(FT_DISABLE_HARFBUZZ "Disable HarfBuzz" ON)
8+
option(FT_DISABLE_PNG "Disable PNG" ON)
9+
10+
if (PREFER_EXTERNAL_LIBS AND NOT NACL)
11+
set(FREETYPE_INTERNAL_ZLIB OFF)
12+
else()
13+
set(FREETYPE_INTERNAL_ZLIB ON)
14+
endif()
15+
16+
set(FT_DISABLE_ZLIB ${FREETYPE_INTERNAL_ZLIB} CACHE BOOL "Disable external zlib" FORCE)
17+
18+
add_subdirectory(${FREETYPE_DIR})
19+
20+
mark_as_advanced(FT_DISABLE_BROTLI)
21+
mark_as_advanced(FT_DISABLE_BZIP2)
22+
mark_as_advanced(FT_DISABLE_HARFBUZZ)
23+
mark_as_advanced(FT_DISABLE_PNG)
24+
mark_as_advanced(FT_DISABLE_ZLIB)
25+
mark_as_advanced(FT_ENABLE_ERROR_STRINGS)

libs/freetype

Submodule freetype added at 42608f7

0 commit comments

Comments
 (0)