Skip to content

Commit 54b1c86

Browse files
committed
Merge branch 'master' into for-0.56.0/sync
2 parents d7e9f89 + 34a3597 commit 54b1c86

32 files changed

+55
-12878
lines changed

.gitmodules

+3
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

+20-10
Original file line numberDiff line numberDiff line change
@@ -640,15 +640,8 @@ if ( USE_STATIC_LIBS )
640640
endif()
641641

642642
# zlib
643-
if (BUILD_CLIENT OR BUILD_TTY_CLIENT OR BUILD_SERVER OR BUILD_DUMMY_APP OR (BUILD_CGAME AND NACL AND NOT USE_NACL_SAIGO))
644-
if (NOT NACL)
645-
find_package(ZLIB REQUIRED)
646-
else()
647-
add_library(srclibs-zlib EXCLUDE_FROM_ALL ${ZLIBLIST})
648-
set_target_properties(srclibs-zlib PROPERTIES POSITION_INDEPENDENT_CODE ${GAME_PIE} FOLDER "libs")
649-
set(ZLIB_INCLUDE_DIRS ${LIB_DIR}/zlib)
650-
set(ZLIB_LIBRARIES srclibs-zlib)
651-
endif()
643+
if (BUILD_CLIENT OR BUILD_TTY_CLIENT OR BUILD_SERVER OR BUILD_DUMMY_APP)
644+
find_package(ZLIB REQUIRED)
652645
set(LIBS_BASE ${LIBS_BASE} ${ZLIB_LIBRARIES})
653646
include_directories(${ZLIB_INCLUDE_DIRS})
654647
endif()
@@ -791,6 +784,22 @@ if (USE_BREAKPAD)
791784
endif()
792785
endif()
793786

787+
option(PREFER_EXTERNAL_LIBS "Tries to use system libs where possible." ON)
788+
789+
macro(prefer_package LIB_NAME LIB_CMAKE)
790+
if (PREFER_EXTERNAL_LIBS AND NOT NACL)
791+
find_package(${LIB_NAME})
792+
793+
if (NOT ${LIB_NAME}_FOUND)
794+
message(WARNING "PREFER_EXTERNAL_LIBS is enabled but external ${LIB_NAME} is not found, falling back to vendored ${LIB_NAME}.")
795+
endif()
796+
endif()
797+
798+
if (NOT ${LIB_NAME}_FOUND)
799+
include(${LIB_CMAKE})
800+
endif()
801+
endmacro()
802+
794803
if (BUILD_CLIENT)
795804
find_package(Ogg REQUIRED)
796805
include_directories(${OGG_INCLUDE_DIRS})
@@ -816,7 +825,8 @@ if (BUILD_CLIENT)
816825
include_directories(${PNG_INCLUDE_DIRS})
817826
set(LIBS_CLIENT ${LIBS_CLIENT} ${PNG_LIBRARIES})
818827

819-
find_package(Freetype REQUIRED)
828+
prefer_package(Freetype ${DAEMON_DIR}/freetype.cmake)
829+
820830
include_directories(${FREETYPE_INCLUDE_DIRS})
821831
set(LIBS_CLIENT ${LIBS_CLIENT} ${FREETYPE_LIBRARIES})
822832

cmake/DaemonFlags.cmake

+6-4
Original file line numberDiff line numberDiff line change
@@ -208,9 +208,11 @@ else()
208208
if (USE_RECOMMENDED_C_STANDARD)
209209
# GNU89 or later standard is required when building gzip or the compiler
210210
# will complain about implicitly defined lseek, read, write and close.
211-
try_c_flag(GNU89 "-std=gnu89")
212-
if (NOT FLAG_GNU89)
213-
message(FATAL_ERROR "GNU89 or C99 not supported by compiler")
211+
# GNU99 or later standard is required when building lua or lua will
212+
# complain that the compiler doesn't support 'long long'.
213+
try_c_flag(GNU99 "-std=gnu99")
214+
if (NOT FLAG_GNU99)
215+
message(FATAL_ERROR "GNU99 is not supported by the compiler")
214216
endif()
215217
endif()
216218

@@ -224,7 +226,7 @@ else()
224226
if (NOT FLAG_GNUXX14)
225227
try_cxx_flag(GNUXX1Y "-std=gnu++1y")
226228
if (NOT FLAG_GNUXX1Y)
227-
message(FATAL_ERROR "GNU++14 or C++14 not supported by compiler")
229+
message(FATAL_ERROR "GNU++14 is not supported by the compiler")
228230
endif()
229231
endif()
230232
endif()

freetype.cmake

+25
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

libs/zlib/adler32.c

-179
This file was deleted.

libs/zlib/compress.c

-80
This file was deleted.

0 commit comments

Comments
 (0)