@@ -93,6 +93,12 @@ if(USE_SOUND)
93
93
)
94
94
endif ()
95
95
96
+ option (ENABLE_FREETYPE "Enable freetype2 (truetype fonts and basic unicode support)" OFF )
97
+ set (USE_FREETYPE 0)
98
+ if (ENABLE_FREETYPE)
99
+ set (USE_FREETYPE 1)
100
+ endif (ENABLE_FREETYPE)
101
+
96
102
if (NOT MSVC )
97
103
set (USE_GPROF 0 CACHE BOOL "Use -pg flag for g++" )
98
104
endif ()
@@ -117,6 +123,14 @@ if(WIN32)
117
123
CACHE FILEPATH "Path to zlibwapi.dll (for installation)" )
118
124
set (IRRLICHT_SOURCE_DIR "${PROJECT_SOURCE_DIR} /../../irrlicht-1.7.2"
119
125
CACHE PATH "irrlicht dir" )
126
+ if (USE_FREETYPE)
127
+ set (FREETYPE_INCLUDE_DIR_ft2build "${PROJECT_SOURCE_DIR} /../../freetype2/include/"
128
+ CACHE PATH "freetype include dir" )
129
+ set (FREETYPE_INCLUDE_DIR_freetype2 "${PROJECT_SOURCE_DIR} /../../freetype2/include/freetype"
130
+ CACHE PATH "freetype include dir" )
131
+ set (FREETYPE_LIBRARY "${PROJECT_SOURCE_DIR} /../../freetype2/objs/win32/vc2005/freetype247.lib"
132
+ CACHE FILEPATH "Path to freetype247.lib" )
133
+ endif (USE_FREETYPE)
120
134
set (MINGWM10_DLL ""
121
135
CACHE FILEPATH "Path to mingwm10.dll (for installation)" )
122
136
if (ENABLE_SOUND)
@@ -157,6 +171,12 @@ endif()
157
171
find_package (Jthread REQUIRED)
158
172
find_package (Sqlite3 REQUIRED)
159
173
174
+ if (USE_FREETYPE)
175
+ find_package (Freetype REQUIRED)
176
+ set (CGUITTFONT_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR} /cguittfont" )
177
+ set (CGUITTFONT_LIBRARY cguittfont)
178
+ endif (USE_FREETYPE)
179
+
160
180
# Do not use system-wide installation of Lua, because it'll likely be a
161
181
# different version and/or has different build options.
162
182
set (LUA_INCLUDE_DIR "${PROJECT_SOURCE_DIR} /lua/src" )
@@ -288,6 +308,13 @@ set(minetest_SRCS
288
308
main.cpp
289
309
)
290
310
311
+ if (USE_FREETYPE)
312
+ set (minetest_SRCS
313
+ ${minetest_SRCS}
314
+ intlGUIEditBox.cpp
315
+ )
316
+ endif (USE_FREETYPE)
317
+
291
318
# Server sources
292
319
set (minetestserver_SRCS
293
320
${common_SRCS}
@@ -307,6 +334,13 @@ include_directories(
307
334
${LUA_INCLUDE_DIR}
308
335
)
309
336
337
+ if (USE_FREETYPE)
338
+ include_directories (
339
+ ${FREETYPE_INCLUDE_DIRS}
340
+ ${CGUITTFONT_INCLUDE_DIR}
341
+ )
342
+ endif (USE_FREETYPE)
343
+
310
344
set (EXECUTABLE_OUTPUT_PATH "${CMAKE_SOURCE_DIR} /bin" )
311
345
312
346
if (BUILD_CLIENT)
@@ -338,6 +372,13 @@ if(BUILD_CLIENT)
338
372
${CURL_INCLUDE_DIR}
339
373
)
340
374
endif (USE_CURL)
375
+ if (USE_FREETYPE)
376
+ target_link_libraries (
377
+ ${PROJECT_NAME}
378
+ ${FREETYPE_LIBRARY}
379
+ ${CGUITTFONT_LIBRARY}
380
+ )
381
+ endif (USE_FREETYPE)
341
382
endif (BUILD_CLIENT)
342
383
343
384
if (BUILD_SERVER)
@@ -519,6 +560,10 @@ else (SQLITE3_FOUND)
519
560
add_subdirectory (sqlite)
520
561
endif (SQLITE3_FOUND)
521
562
563
+ if (BUILD_CLIENT AND USE_FREETYPE)
564
+ add_subdirectory (cguittfont)
565
+ endif (BUILD_CLIENT AND USE_FREETYPE)
566
+
522
567
if (LUA_FOUND)
523
568
else (LUA_FOUND)
524
569
add_subdirectory (lua)
0 commit comments