0033661: Data Exchange, Step Import - Tessellated GDTs are not imported
[occt.git] / adm / cmake / freetype.cmake
CommitLineData
9f33b387 1# freetype
2
3321f684 3if (NOT DEFINED INSTALL_FREETYPE AND BUILD_SHARED_LIBS)
316d77d9 4 set (INSTALL_FREETYPE OFF CACHE BOOL "${INSTALL_FREETYPE_DESCR}")
9f33b387 5endif()
6
7if (NOT DEFINED 3RDPARTY_FREETYPE_DIR)
8 set (3RDPARTY_FREETYPE_DIR "" CACHE PATH "The directory containing freetype")
9endif()
10
fa0cbe55 11# include occt macros. compiler_bitness, os_wiht_bit, compiler
19286d7c 12OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros")
9f33b387 13
14OCCT_MAKE_COMPILER_SHORT_NAME()
15OCCT_MAKE_COMPILER_BITNESS()
16
e713baee 17# specify freetype folder in connectin with 3RDPARTY_DIR
18if (3RDPARTY_DIR AND EXISTS "${3RDPARTY_DIR}")
19 #CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_DIR 3RDPARTY_FREETYPE_DIR PATH "The directory containing freetype")
20
21 if (NOT 3RDPARTY_FREETYPE_DIR OR NOT EXISTS "${3RDPARTY_FREETYPE_DIR}")
22 FIND_PRODUCT_DIR ("${3RDPARTY_DIR}" FREETYPE FREETYPE_DIR_NAME)
9f33b387 23 if (FREETYPE_DIR_NAME)
24 set (3RDPARTY_FREETYPE_DIR "${3RDPARTY_DIR}/${FREETYPE_DIR_NAME}" CACHE PATH "The directory containing freetype" FORCE)
25 endif()
26 endif()
e713baee 27else()
28 #set (3RDPARTY_FREETYPE_DIR "" CACHE PATH "The directory containing freetype" FORCE)
9f33b387 29endif()
30
e713baee 31# define required freetype variables
9f33b387 32if (NOT DEFINED 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build)
33 set (3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build "" CACHE FILEPATH "the path of ft2build.h")
34endif()
35
36if (NOT DEFINED 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2)
37 set (3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 "" CACHE FILEPATH "the path of freetype2")
38endif()
39
3321f684 40if (BUILD_SHARED_LIBS)
41 if (NOT DEFINED 3RDPARTY_FREETYPE_LIBRARY OR NOT 3RDPARTY_FREETYPE_LIBRARY_DIR OR NOT EXISTS "${3RDPARTY_FREETYPE_LIBRARY_DIR}")
42 set (3RDPARTY_FREETYPE_LIBRARY "" CACHE FILEPATH "freetype library" FORCE)
43 endif()
9f33b387 44
3321f684 45 if (NOT DEFINED 3RDPARTY_FREETYPE_LIBRARY_DIR)
46 set (3RDPARTY_FREETYPE_LIBRARY_DIR "" CACHE PATH "The directory containing freetype library")
47 endif()
9f33b387 48
3321f684 49 if (WIN32)
50 if (NOT DEFINED 3RDPARTY_FREETYPE_DLL OR NOT 3RDPARTY_FREETYPE_DLL_DIR OR NOT EXISTS "${3RDPARTY_FREETYPE_DLL_DIR}")
51 set (3RDPARTY_FREETYPE_DLL "" CACHE FILEPATH "freetype shared library" FORCE)
52 endif()
9f33b387 53 endif()
9f33b387 54
3321f684 55 if (WIN32)
56 if (NOT DEFINED 3RDPARTY_FREETYPE_DLL_DIR)
57 set (3RDPARTY_FREETYPE_DLL_DIR "" CACHE PATH "The directory containing freetype shared library")
58 endif()
9f33b387 59 endif()
60endif()
61
e713baee 62# check 3RDPARTY_FREETYPE_ paths for consistency with specified 3RDPARTY_FREETYPE_DIR
63if (3RDPARTY_FREETYPE_DIR AND EXISTS "${3RDPARTY_FREETYPE_DIR}")
112139f0 64 CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_FREETYPE_DIR 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build FILEPATH "The directory containing ft2build.h header")
65 CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_FREETYPE_DIR 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 FILEPATH "The directory containing ftheader.h header")
3321f684 66 if (BUILD_SHARED_LIBS)
67 CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_FREETYPE_DIR 3RDPARTY_FREETYPE_LIBRARY FILEPATH "the path to freetype library")
9f33b387 68
3321f684 69 if (3RDPARTY_FREETYPE_LIBRARY AND EXISTS "${3RDPARTY_FREETYPE_LIBRARY}")
70 get_filename_component (3RDPARTY_FREETYPE_LIBRARY_DIR "${3RDPARTY_FREETYPE_LIBRARY}" PATH)
71 set (3RDPARTY_FREETYPE_LIBRARY_DIR "${3RDPARTY_FREETYPE_LIBRARY_DIR}" CACHE PATH "The directory containing freetype library" FORCE)
72 else()
73 CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_FREETYPE_DIR 3RDPARTY_FREETYPE_LIBRARY_DIR PATH "The directory containing freetype library")
74 endif()
9f33b387 75
3321f684 76 if (WIN32)
77 CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_FREETYPE_DIR 3RDPARTY_FREETYPE_DLL FILEPATH "the path to freetype shared library")
e713baee 78
3321f684 79 if (3RDPARTY_FREETYPE_DLL AND EXISTS "${3RDPARTY_FREETYPE_DLL}")
80 get_filename_component (3RDPARTY_FREETYPE_DLL_DIR "${3RDPARTY_FREETYPE_DLL}" PATH)
81 set (3RDPARTY_FREETYPE_DLL_DIR "${3RDPARTY_FREETYPE_DLL_DIR}" CACHE PATH "The directory containing freetype shared library" FORCE)
82 else()
83 CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_FREETYPE_DIR 3RDPARTY_FREETYPE_DLL_DIR PATH "The directory containing freetype shared library")
84 endif()
9f33b387 85 endif()
86 endif()
87endif()
88
e713baee 89# the FIRST step in search for freetype library and header folders (built-in search engine)
90
91# execute built-in search engine to seek freetype
92set (IS_BUILTIN_SEARCH_REQUIRED OFF)
93if (NOT 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build OR NOT EXISTS "${3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build}")
94 set (IS_BUILTIN_SEARCH_REQUIRED ON)
95elseif (NOT 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 OR NOT EXISTS "${3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2}")
96 set (IS_BUILTIN_SEARCH_REQUIRED ON)
97elseif (NOT 3RDPARTY_FREETYPE_LIBRARY OR NOT EXISTS "${3RDPARTY_FREETYPE_LIBRARY}")
98 set (IS_BUILTIN_SEARCH_REQUIRED ON)
99#elseif (WIN32)
100 #if (NOT 3RDPARTY_FREETYPE_DLL OR NOT EXISTS "${3RDPARTY_FREETYPE_DLL}")
101 # set (IS_BUILTIN_SEARCH_REQUIRED ON)
102 #endif()
9f33b387 103endif()
104
e713baee 105if (IS_BUILTIN_SEARCH_REQUIRED)
9f33b387 106
e713baee 107 # use 3RDPARTY_FREETYPE_DIR if it is specified for freetype search
108 if (3RDPARTY_FREETYPE_DIR AND EXISTS "${3RDPARTY_FREETYPE_DIR}")
109 set (CACHED_FREETYPE_DIR $ENV{FREETYPE_DIR})
110 set (ENV{FREETYPE_DIR} "${3RDPARTY_FREETYPE_DIR}")
9f33b387 111 endif()
9f33b387 112
cb77bfc4 113 unset (FREETYPE_LIBRARY_RELEASE)
e713baee 114 find_package(Freetype)
19286d7c 115
cb77bfc4 116 # Only for UNIX (not APPLE)
117 if ((NOT WIN32) AND (NOT APPLE))
118 # To avoid linker error on Ubuntu 18.04 and others linux distributives we should
119 # link with freetype library, compiled as Position Independent Code (PIC),
120 # for example, with shared object.
121 if ((DEFINED FREETYPE_LIBRARY_RELEASE) AND (NOT "${FREETYPE_LIBRARY_RELEASE}" STREQUAL "") AND (EXISTS "${FREETYPE_LIBRARY_RELEASE}"))
122 string (REPLACE "\.a" "\.so" FREETYPE_LIBRARY_RELEASE "${FREETYPE_LIBRARY_RELEASE}")
123 endif()
124 endif()
125
e713baee 126 # restore ENV{FREETYPE_DIR}
127 if (3RDPARTY_FREETYPE_DIR AND EXISTS "${3RDPARTY_FREETYPE_DIR}")
128 set (ENV{FREETYPE_DIR} ${CACHED_FREETYPE_DIR})
9f33b387 129 endif()
130
e713baee 131 # check the found paths for consistency with specified 3RDPARTY_FREETYPE_DIR
132 if (3RDPARTY_FREETYPE_DIR AND EXISTS "${3RDPARTY_FREETYPE_DIR}")
112139f0 133 CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_FREETYPE_DIR FREETYPE_INCLUDE_DIR_ft2build FILEPATH "The directory containing ft2build.h header")
134 CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_FREETYPE_DIR FREETYPE_INCLUDE_DIR_freetype2 FILEPATH "The directory containing ftheader.h header")
3321f684 135 if (BUILD_SHARED_LIBS)
cb77bfc4 136 CHECK_PATH_FOR_CONSISTENCY (3RDPARTY_FREETYPE_DIR FREETYPE_LIBRARY_RELEASE FILEPATH "freetype library")
3321f684 137 endif()
e713baee 138 endif()
9f33b387 139
e713baee 140 # assign the found paths to corresponding 3RDPARTY_FREETYPE_ variables
141 if (NOT 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build OR NOT EXISTS "${3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build}")
142 if (FREETYPE_INCLUDE_DIR_ft2build AND EXISTS "${FREETYPE_INCLUDE_DIR_ft2build}")
112139f0 143 set (3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build "${FREETYPE_INCLUDE_DIR_ft2build}" CACHE FILEPATH "The directory containing ft2build.h header" FORCE)
e713baee 144 endif()
145 endif()
9f33b387 146
e713baee 147 if (NOT 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 OR NOT EXISTS "${3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2}")
148 if (FREETYPE_INCLUDE_DIR_freetype2 AND EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}")
112139f0 149 set (3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 "${FREETYPE_INCLUDE_DIR_freetype2}" CACHE FILEPATH "The directory containing ftheader.h header" FORCE)
9f33b387 150 endif()
e713baee 151 endif()
19286d7c 152
3321f684 153 if (BUILD_SHARED_LIBS)
154 if (NOT 3RDPARTY_FREETYPE_LIBRARY OR NOT EXISTS "${3RDPARTY_FREETYPE_LIBRARY}")
cb77bfc4 155 if (FREETYPE_LIBRARY_RELEASE AND EXISTS "${FREETYPE_LIBRARY_RELEASE}")
156 set (3RDPARTY_FREETYPE_LIBRARY "${FREETYPE_LIBRARY_RELEASE}" CACHE FILEPATH "The path to freetype library" FORCE)
3321f684 157 endif()
9f33b387 158 endif()
e713baee 159
3321f684 160 if (3RDPARTY_FREETYPE_LIBRARY AND EXISTS "${3RDPARTY_FREETYPE_LIBRARY}")
161 get_filename_component (3RDPARTY_FREETYPE_LIBRARY_DIR "${3RDPARTY_FREETYPE_LIBRARY}" PATH)
162 set (3RDPARTY_FREETYPE_LIBRARY_DIR "${3RDPARTY_FREETYPE_LIBRARY_DIR}" CACHE PATH "The directory containing freetype library" FORCE)
163 else()
164 set (3RDPARTY_FREETYPE_LIBRARY_DIR "" CACHE PATH "The directory containing freetype library" FORCE)
165 endif()
e713baee 166 endif()
9f33b387 167endif()
168
e713baee 169# the SECOND step in search for freetype library and header folders (additional search algorithms)
9f33b387 170
e713baee 171# ft2build.h
172if (NOT 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build OR NOT EXISTS "${3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build}")
173 set (FT2BUILD_NAMES ft2build.h config/ft2build.h freetype/config/ft2build.h)
9f33b387 174
e713baee 175 # set 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build as notfound, otherwise find_library can't assign a new value to 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build
112139f0 176 set (3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build "3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build-NOTFOUND" CACHE FILEPATH "The directory containing ft2build.h header" FORCE)
e713baee 177
178 # cmake (version < 3.0) doesn't find ft2build.h of freetype (version is >= 2.5.1)
179 # do search taking into account freetype structure of 2.5.1 version
180 if (3RDPARTY_FREETYPE_DIR AND EXISTS "${3RDPARTY_FREETYPE_DIR}")
181 find_path (3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build NAMES ${FT2BUILD_NAMES}
182 PATHS ${3RDPARTY_FREETYPE_DIR}
183 PATH_SUFFIXES include freetype2 include/freetype2
184 CMAKE_FIND_ROOT_PATH_BOTH
185 NO_DEFAULT_PATH)
186 else()
187 find_path (3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build NAMES ${FT2BUILD_NAMES}
188 PATHS /usr/X11R6 /usr/local/X11R6 /usr/local/X11 /usr/freeware
189 PATH_SUFFIXES include/freetype2 include freetype2
190 CMAKE_FIND_ROOT_PATH_BOTH)
9f33b387 191 endif()
192endif()
193
e713baee 194if (3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build AND EXISTS "${3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build}")
9f33b387 195 list (APPEND 3RDPARTY_INCLUDE_DIRS "${3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build}")
196else()
197 list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build)
e713baee 198
112139f0 199 set (3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build "" CACHE FILEPATH "The directory containing ft2build.h header" FORCE)
e713baee 200endif()
201
202# ftheader.h
203if (NOT 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 OR NOT EXISTS "${3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2}")
204 set (FTHEADER_NAMES ftheader.h config/ftheader.h freetype/config/ftheader.h)
205
206 # set 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 as notfound, otherwise find_library can't assign a new value to 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2
112139f0 207 set (3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 "3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2-NOTFOUND" CACHE FILEPATH "The directory containing ftheader.h header" FORCE)
e713baee 208
209 if (3RDPARTY_FREETYPE_DIR AND EXISTS "${3RDPARTY_FREETYPE_DIR}")
210 find_path (3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 NAMES ${FTHEADER_NAMES}
211 HINTS ${3RDPARTY_FREETYPE_DIR}
212 PATH_SUFFIXES include/freetype2 include freetype2
213 CMAKE_FIND_ROOT_PATH_BOTH
214 NO_DEFAULT_PATH)
215 else()
216 find_path (3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 NAMES ${FTHEADER_NAMES}
217 PATHS /usr/X11R6 /usr/local/X11R6 /usr/local/X11 /usr/freeware
218 PATH_SUFFIXES include/freetype2 include freetype2
219 CMAKE_FIND_ROOT_PATH_BOTH)
220 endif()
9f33b387 221endif()
222
e713baee 223if (3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 AND EXISTS "${3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2}")
9f33b387 224 list (APPEND 3RDPARTY_INCLUDE_DIRS "${3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2}")
225else()
226 list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2)
e713baee 227
112139f0 228 set (3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 "" CACHE FILEPATH "The directory containing ftheader.h header" FORCE)
9f33b387 229endif()
230
e713baee 231# freetype library
0553a8ea 232#if (BUILD_SHARED_LIBS)
3321f684 233 if (NOT 3RDPARTY_FREETYPE_LIBRARY OR NOT EXISTS "${3RDPARTY_FREETYPE_LIBRARY}")
cb77bfc4 234 set (CMAKE_FIND_LIBRARY_SUFFIXES .lib .so .dylib)
9f33b387 235
3321f684 236 set (FREETYPE_PATH_SUFFIXES lib)
237 if (ANDROID)
238 set (FREETYPE_PATH_SUFFIXES ${FREETYPE_PATH_SUFFIXES} libs/${ANDROID_ABI})
239 endif()
e713baee 240
3321f684 241 # set 3RDPARTY_FREETYPE_LIBRARY as notfound, otherwise find_library can't assign a new value to 3RDPARTY_FREETYPE_LIBRARY
242 set (3RDPARTY_FREETYPE_LIBRARY "3RDPARTY_FREETYPE_LIBRARY-NOTFOUND" CACHE FILEPATH "The path to freetype library" FORCE)
e713baee 243
244 if (3RDPARTY_FREETYPE_DIR AND EXISTS "${3RDPARTY_FREETYPE_DIR}")
4fecc365 245 find_library (3RDPARTY_FREETYPE_LIBRARY ${CSF_FREETYPE}
3321f684 246 PATHS "${3RDPARTY_FREETYPE_LIBRARY_DIR}" "${3RDPARTY_FREETYPE_DIR}"
247 PATH_SUFFIXES ${FREETYPE_PATH_SUFFIXES}
248 CMAKE_FIND_ROOT_PATH_BOTH
249 NO_DEFAULT_PATH)
e713baee 250 else()
4fecc365 251 find_library (3RDPARTY_FREETYPE_LIBRARY ${CSF_FREETYPE}
3321f684 252 PATH_SUFFIXES ${FREETYPE_PATH_SUFFIXES}
253 CMAKE_FIND_ROOT_PATH_BOTH)
e713baee 254 endif()
255
cb77bfc4 256 # Only for UNIX (not APPLE)
257 if ((NOT WIN32) AND (NOT APPLE))
258 # To avoid linker error on Ubuntu 18.04 and some others linux distributives we should
259 # link with freetype library, compiled as Position Independent Code (PIC),
260 # for example, with shared object.
261 if ((DEFINED 3RDPARTY_FREETYPE_LIBRARY) AND (NOT "${3RDPARTY_FREETYPE_LIBRARY}" STREQUAL "") AND (EXISTS "${3RDPARTY_FREETYPE_LIBRARY}"))
262 string (REPLACE "\.a" "\.so" 3RDPARTY_FREETYPE_LIBRARY "${3RDPARTY_FREETYPE_LIBRARY}")
263 endif()
264 endif()
265
3321f684 266 if (3RDPARTY_FREETYPE_LIBRARY AND EXISTS "${3RDPARTY_FREETYPE_LIBRARY}")
267 get_filename_component (3RDPARTY_FREETYPE_LIBRARY_DIR "${3RDPARTY_FREETYPE_LIBRARY}" PATH)
268 set (3RDPARTY_FREETYPE_LIBRARY_DIR "${3RDPARTY_FREETYPE_LIBRARY_DIR}" CACHE PATH "The directory containing freetype library" FORCE)
e713baee 269 else()
3321f684 270 set (3RDPARTY_FREETYPE_LIBRARY_DIR "" CACHE PATH "The directory containing freetype library" FORCE)
e713baee 271 endif()
272 endif()
273
3321f684 274 if (3RDPARTY_FREETYPE_LIBRARY_DIR AND EXISTS "${3RDPARTY_FREETYPE_LIBRARY_DIR}")
275 list (APPEND 3RDPARTY_LIBRARY_DIRS "${3RDPARTY_FREETYPE_LIBRARY_DIR}")
94829f84 276 else()
0553a8ea 277 list (APPEND 3RDPARTY_NO_LIBS 3RDPARTY_FREETYPE_LIBRARY_DIR)
3321f684 278
279 set (3RDPARTY_FREETYPE_LIBRARY "" CACHE FILEPATH "The path to freetype library" FORCE)
9f33b387 280 endif()
9f33b387 281
3321f684 282 # freetype shared library
283 if (WIN32)
284 if (NOT 3RDPARTY_FREETYPE_DLL OR NOT EXISTS "${3RDPARTY_FREETYPE_DLL}")
285
286 set (CMAKE_FIND_LIBRARY_SUFFIXES .dll)
e713baee 287
3321f684 288 # set 3RDPARTY_FREETYPE_DLL as notfound, otherwise find_library can't assign a new value to 3RDPARTY_FREETYPE_DLL
289 set (3RDPARTY_FREETYPE_DLL "3RDPARTY_FREETYPE_DLL-NOTFOUND" CACHE FILEPATH "The path to freetype shared library" FORCE)
096ef695 290
3321f684 291 if (3RDPARTY_FREETYPE_DIR AND EXISTS "${3RDPARTY_FREETYPE_DIR}")
4fecc365 292 find_library (3RDPARTY_FREETYPE_DLL ${CSF_FREETYPE}
3321f684 293 PATHS "${3RDPARTY_FREETYPE_DIR}"
294 PATH_SUFFIXES bin
295 NO_DEFAULT_PATH)
296 else()
4fecc365 297 find_library (3RDPARTY_FREETYPE_DLL ${CSF_FREETYPE}
3321f684 298 PATH_SUFFIXES bin)
299 endif()
300
301 if (3RDPARTY_FREETYPE_DLL AND EXISTS "${3RDPARTY_FREETYPE_DLL}")
302 get_filename_component (3RDPARTY_FREETYPE_DLL_DIR "${3RDPARTY_FREETYPE_DLL}" PATH)
303 set (3RDPARTY_FREETYPE_DLL_DIR "${3RDPARTY_FREETYPE_DLL_DIR}" CACHE PATH "The directory containing freetype library" FORCE)
304 else()
305 set (3RDPARTY_FREETYPE_DLL_DIR "" CACHE PATH "The directory containing freetype shared library" FORCE)
306
307 set (3RDPARTY_FREETYPE_DLL "" CACHE FILEPATH "freetype shared library" FORCE)
308 endif()
096ef695 309 endif()
fa0cbe55 310
3321f684 311 if (3RDPARTY_FREETYPE_DLL_DIR OR EXISTS "${3RDPARTY_FREETYPE_DLL_DIR}")
312 list (APPEND 3RDPARTY_DLL_DIRS "${3RDPARTY_FREETYPE_DLL_DIR}")
096ef695 313 else()
0553a8ea 314 list (APPEND 3RDPARTY_NO_DLLS 3RDPARTY_FREETYPE_DLL_DIR)
096ef695 315 endif()
9f33b387 316 endif()
0a66e59d 317
3321f684 318 # install instructions
319 if (INSTALL_FREETYPE)
320 OCCT_MAKE_OS_WITH_BITNESS()
321
322 if (WIN32)
323 if (SINGLE_GENERATOR)
d26375e2 324 install (FILES "${3RDPARTY_FREETYPE_DLL}" DESTINATION "${INSTALL_DIR_BIN}")
3321f684 325 else()
326 install (FILES "${3RDPARTY_FREETYPE_DLL}"
327 CONFIGURATIONS Release
d26375e2 328 DESTINATION "${INSTALL_DIR_BIN}")
3321f684 329 install (FILES "${3RDPARTY_FREETYPE_DLL}"
330 CONFIGURATIONS RelWithDebInfo
d26375e2 331 DESTINATION "${INSTALL_DIR_BIN}i")
3321f684 332 install (FILES "${3RDPARTY_FREETYPE_DLL}"
333 CONFIGURATIONS Debug
d26375e2 334 DESTINATION "${INSTALL_DIR_BIN}d")
3321f684 335 endif()
336 else()
337 get_filename_component(3RDPARTY_FREETYPE_LIBRARY_ABS ${3RDPARTY_FREETYPE_LIBRARY} REALPATH)
338 get_filename_component(3RDPARTY_FREETYPE_LIBRARY_NAME ${3RDPARTY_FREETYPE_LIBRARY} NAME)
339
340 if (SINGLE_GENERATOR)
341 install (FILES "${3RDPARTY_FREETYPE_LIBRARY_ABS}"
d26375e2 342 DESTINATION "${INSTALL_DIR_LIB}"
3321f684 343 RENAME ${3RDPARTY_FREETYPE_LIBRARY_NAME}.6)
344 else()
345 install (FILES "${3RDPARTY_FREETYPE_LIBRARY_ABS}"
346 CONFIGURATIONS Release
d26375e2 347 DESTINATION "${INSTALL_DIR_LIB}"
3321f684 348 RENAME ${3RDPARTY_FREETYPE_LIBRARY_NAME}.6)
349 install (FILES "${3RDPARTY_FREETYPE_LIBRARY_ABS}"
350 CONFIGURATIONS RelWithDebInfo
d26375e2 351 DESTINATION "${INSTALL_DIR_LIB}i"
3321f684 352 RENAME ${3RDPARTY_FREETYPE_LIBRARY_NAME}.6)
353 install (FILES "${3RDPARTY_FREETYPE_LIBRARY_ABS}"
354 CONFIGURATIONS Debug
d26375e2 355 DESTINATION "${INSTALL_DIR_LIB}d"
3321f684 356 RENAME ${3RDPARTY_FREETYPE_LIBRARY_NAME}.6)
357 endif()
358 endif()
359
360 set (USED_3RDPARTY_FREETYPE_DIR "")
0a66e59d 361 else()
3321f684 362 # the library directory for using by the executable
363 if (WIN32)
364 set (USED_3RDPARTY_FREETYPE_DIR ${3RDPARTY_FREETYPE_DLL_DIR})
365 else()
366 set (USED_3RDPARTY_FREETYPE_DIR ${3RDPARTY_FREETYPE_LIBRARY_DIR})
367 endif()
0a66e59d 368 endif()
0553a8ea 369#endif()
9f33b387 370
371# unset all redundant variables
372OCCT_CHECK_AND_UNSET(FREETYPE_INCLUDE_DIR_ft2build)
373OCCT_CHECK_AND_UNSET(FREETYPE_INCLUDE_DIR_freetype2)
cb77bfc4 374OCCT_CHECK_AND_UNSET(FREETYPE_LIBRARY_RELEASE)
9f33b387 375
3321f684 376if (BUILD_SHARED_LIBS)
377 mark_as_advanced (3RDPARTY_FREETYPE_LIBRARY 3RDPARTY_FREETYPE_DLL)
378else()
379 OCCT_CHECK_AND_UNSET(3RDPARTY_FREETYPE_DLL)
380 OCCT_CHECK_AND_UNSET(3RDPARTY_FREETYPE_DLL_DIR)
381 OCCT_CHECK_AND_UNSET(3RDPARTY_FREETYPE_LIBRARY)
382 OCCT_CHECK_AND_UNSET(3RDPARTY_FREETYPE_LIBRARY_DIR)
383 OCCT_CHECK_AND_UNSET(INSTALL_FREETYPE)
384endif()