@ -12,35 +12,40 @@
# f u l l y .
#
#
# A s a p r e l i m i n a r y , c r e a t e a c o m p i l a t i o n d i r e c t o r y a n d c h a n g e i n t o i t , f o r
# e x a m p l e
# T h e f o l l o w i n g w i l l 1 . c r e a t e a b u i l d d i r e c t o r y a n d 2 . c h a n g e i n t o i t a n d
# c a l l c m a k e t o c o n f i g u r e t h e b u i l d w i t h d e f a u l t p a r a m e t e r s a s a s t a t i c
# l i b r a r y .
#
# m k d i r ~ / f r e e t y p e 2 . c o m p i l e d
# c d ~ / f r e e t y p e 2 . c o m p i l e d
#
# N o w y o u c a n s a y
#
# c m a k e < p a t h - t o - f r e e t y p e 2 - s r c - d i r >
#
# t o c r e a t e a M a k e f i l e t h a t b u i l d s a s t a t i c v e r s i o n o f t h e l i b r a r y .
# c m a k e - E m a k e _ d i r e c t o r y b u i l d
# c m a k e - E c h d i r b u i l d c m a k e . .
#
# F o r a d y n a m i c l i b r a r y , u s e
#
# c m a k e - D B U I L D _ S H A R E D _ L I B S : B O O L = t r u e < p a t h - t o - f r e e t y p e 2 - s r c - d i r >
# c m a k e - E c h d i r b u i l d c m a k e - D B U I L D _ S H A R E D _ L I B S : B O O L = t r u e . .
#
# F o r a f r a m e w o r k o n O S X , u s e
#
# c m a k e - D B U I L D _ F R A M E W O R K : B O O L = t r u e - G X c o d e < p a t h - t o - f r e e t y p e 2 - s r c - d i r >
#
# i n s t e a d .
# c m a k e - E c h d i r b u i l d c m a k e - G X c o d e - D B U I L D _ F R A M E W O R K : B O O L = t r u e . .
#
# F o r a n i O S s t a t i c l i b r a r y , u s e
#
# c m a k e - D I O S _ P L A T F O R M = O S - G X c o d e < p a t h - t o - f r e e t y p e 2 - s r c - d i r >
# c m a k e - E c h d i r b u i l d c m a k e - G X c o d e - D I O S _ P L A T F O R M = O S . .
#
# o r
#
# c m a k e - D I O S _ P L A T F O R M = S I M U L A T O R - G X c o d e < p a t h - t o - f r e e t y p e 2 - s r c - d i r >
# c m a k e - E c h d i r b u i l d c m a k e - G X c o d e - D I O S _ P L A T F O R M = S I M U L A T O R . .
#
# F i n a l l y , b u i l d t h e p r o j e c t w i t h :
#
# c m a k e - - b u i l d b u i l d
#
# I n s t a l l i t w i t h
#
# ( s u d o ) c m a k e - - b u i l d b u i l d - - t a r g e t i n s t a l l
#
# A b i n a r y d i s t r i b u t i o n c a n b e m a d e w i t h
#
# c m a k e - - b u i l d b u i l d - - c o n f i g R e l e a s e - - t a r g e t p a c k a g e
#
# P l e a s e r e f e r t o t h e c m a k e m a n u a l f o r f u r t h e r o p t i o n s , i n p a r t i c u l a r , h o w
# t o m o d i f y c o m p i l a t i o n a n d l i n k i n g p a r a m e t e r s .
@ -59,28 +64,33 @@
# . ` C M a k e L i s t s . t x t ' i s p r o v i d e d a s - i s s i n c e i t i s n o r m a l l y n o t u s e d b y t h e
# d e v e l o p e r t e a m .
#
# . I f y o u w a n t t o d i s a b l e t h e a u t o m a t i c g e n e r a t i o n o f t h e d i s t r i b u t i o n
# t a r g e t s , a d d t h e ` - D F R E E T Y P E _ N O _ D I S T = t r u e ' c o m m a n d l i n e a r g u m e n t .
#
# . S e t t h e ` W I T H _ Z L I B ' , ` W I T H _ B Z i p 2 ' , ` W I T H _ P N G ' , a n d ` W I T H _ H a r f B u z z '
# C M a k e v a r i a b l e s t o ` O N ' o r ` O F F ' t o f o r c e o r s k i p u s i n g a d e p e n d e n c y .
# . S e t t h e ` F T _ W I T H _ Z L I B ' , ` F T _ W I T H _ B Z I P 2 ' , ` F T _ W I T H _ P N G ' , a n d
# ` F T _ W I T H _ H A R F B U Z Z ' C M a k e v a r i a b l e s t o ` O N ' t o f o r c e u s i n g a d e p e n d e n c y .
# L e a v e a v a r i a b l e undefined ( which is the default ) t o u s e t h e d e p e n d e n c y
# o n l y i f i t i s a v a i l a b l e . E x a m p l e :
# o n l y i f i t i s a v a i l a b l e . S e t ` C M A K E _ D I S A B L E _ F I N D _ P A C K A G E _ H a r f B u z z = T R U E ' t o
# d i s a b l e a d e p e n d e n c y completely ( CMake package name, so `BZip2' instead of
# ` B Z I P 2 ' ) . E x a m p l e :
#
# c m a k e . . . - D W I T H _ Z L I B = O N - D W I T H _ H a r f B u z z = O F F . . .
# c m a k e - D F T _ W I T H _ Z L I B = O N - D C M A K E _ D I S A B L E _ F I N D _ P A C K A G E _ H a r f B u z z = T R U E [ . . . ]
#
# . I n s t a l l a t i o n o f F r e e T y p e c a n b e c o n t r o l l e d w i t h t h e C M a k e v a r i a b l e s
# ` S K I P _ I N S T A L L _ H E A D E R S ' , ` S K I P _ I N S T A L L _ L I B R A R I E S ' , a n d ` S K I P _ I N S T A L L _ A L L '
# ( t h i s i s c o m p a t i b l e w i t h t h e s a m e C M a k e v a r i a b l e s i n z l i b ' s C M a k e
# s u p p o r t ) .
# F r e e T y p e e x p l i c i t l y m a r k s t h e A P I t o b e e x p o r t e d a n d r e l i e s o n t h e c o m p i l e r
# t o h i d e a l l o t h e r s y m b o l s . C M a k e s u p p o r t s a C _ V I S B I L I T Y _ P R E S E T p r o p e r t y
# s t a r t i n g w i t h 2 . 8 . 1 2 .
cmake_minimum_required ( VERSION 2.8.12 )
cmake_minimum_required ( VERSION 2.6 )
if ( NOT CMAKE_VERSION VERSION_LESS 3.3 )
# A l l o w s y m b o l v i s i b i l i t y s e t t i n g s a l s o o n s t a t i c l i b r a r i e s . C M a k e < 3 . 3
# o n l y s e t s t h e p r o p e r y o n a s h a r e d l i b r a r y b u i l d .
cmake_policy ( SET CMP0063 NEW )
endif ( )
include ( CheckIncludeFile )
# C M A K E _ T O O L C H A I N _ F I L E m u s t b e s e t b e f o r e ` p r o j e c t ' i s c a l l e d , w h i c h
# c o n f i g u r e s t h e b a s e b u i l d e n v i r o n m e n t a n d r e f e r e n c e s t h e t o o l c h a i n f i l e
if ( APPLE )
@ -116,26 +126,47 @@ else ()
endif ( )
project ( freetype )
project ( freetype C )
set ( VERSION_MAJOR "2" )
set ( VERSION_MINOR "9" )
set ( VERSION_PATCH "0" )
# S O V E R S I O N s c h e m e : C U R R E N T . A G E . R E V I S I O N
# I f t h e r e w a s a n i n c o m p a t i b l e i n t e r f a c e c h a n g e :
# I n c r e m e n t C U R R E N T . S e t A G E a n d R E V I S I O N t o 0
# I f t h e r e w a s a c o m p a t i b l e i n t e r f a c e c h a n g e :
# I n c r e m e n t A G E . S e t R E V I S I O N t o 0
# I f t h e s o u r c e c o d e w a s c h a n g e d , b u t t h e r e w e r e n o i n t e r f a c e c h a n g e s :
# I n c r e m e n t R E V I S I O N .
set ( LIBRARY_VERSION "6.16.0" )
set ( LIBRARY_SOVERSION "6" )
# T h e s e o p t i o n s m e a n " r e q u i r e x a n d c o m p l a i n i f n o t f o u n d " . T h e y ' l l g e t
# o p t i o n a l l y f o u n d a n y w a y . U s e ` - D C M A K E _ D I S A B L E _ F I N D _ P A C K A G E _ x = T R U E ` t o d i s a b l e
# s e a r c h i n g f o r a p a c k g e entirely ( x is the CMake package name, so "BZip2"
# i n s t e a d o f " B Z I P 2 " ) .
option ( FT_WITH_ZLIB "Use system zlib instead of internal library." OFF )
option ( FT_WITH_BZIP2 "Support bzip2 compressed fonts." OFF )
option ( FT_WITH_PNG "Support PNG compressed OpenType embedded bitmaps." OFF )
option ( FT_WITH_HARFBUZZ "Improve auto-hinting of OpenType fonts." OFF )
# D i s a l l o w i n - s o u r c e b u i l d s
if ( "${PROJECT_BINARY_DIR}" STREQUAL "${PROJECT_SOURCE_DIR}" )
message ( FATAL_ERROR
"
I n - s o u r c e b u i l d s a r e n o t p e r m i t t e d ! M a k e a s e p a r a t e f o l d e r f o r "
" b u i l d i n g , e . g . , "
"
m k d i r b u i l d ; c d b u i l d ; c m a k e . . "
"
B e f o r e t h a t , r e m o v e t h e f i l e s c r e a t e d b y t h i s f a i l e d r u n w i t h "
"
r m - r f C M a k e C a c h e . t x t C M a k e F i l e s " )
" I n - s o u r c e b u i l d s a r e n o t p e r m i t t e d ! M a k e a s e p a r a t e f o l d e r f o r "
" b u i l d i n g , e . g . , \ n "
" c m a k e - E m a k e _ d i r e c t o r y b u i l d \ n "
" c m a k e - E c h d i r b u i l d c m a k e . . \ n "
" B e f o r e t h a t , r e m o v e t h e f i l e s c r e a t e d b y t h i s f a i l e d r u n w i t h \ n "
" c m a k e - E r e m o v e C M a k e C a c h e . t x t \ n "
" c m a k e - E r e m o v e _ d i r e c t o r y C M a k e F i l e s " )
endif ( )
# A d d l o c a l c m a k e m o d u l e s
set ( CMAKE_MODULE_PATH ${ CMAKE_MODULE_PATH } ${ PROJECT_SOURCE_DIR } /builds/cmake )
list ( APPEND CMAKE_MODULE_PATH ${ PROJECT_SOURCE_DIR } /builds/cmake )
if ( BUILD_FRAMEWORK )
@ -148,49 +179,32 @@ if (BUILD_FRAMEWORK)
endif ( )
set ( VERSION_MAJOR "2" )
set ( VERSION_MINOR "9" )
set ( VERSION_PATCH "0" )
set ( PROJECT_VERSION ${ VERSION_MAJOR } . ${ VERSION_MINOR } . ${ VERSION_PATCH } )
set ( SHARED_LIBRARY_VERSION ${ VERSION_MAJOR } . ${ VERSION_MINOR } )
# C o m p i l e r d e f i n i t i o n s f o r b u i l d i n g t h e l i b r a r y
add_definitions ( -DFT2_BUILD_LIBRARY )
if ( WIN32 )
add_definitions ( -D_CRT_SECURE_NO_WARNINGS )
add_definitions ( -D_CRT_NONSTDC_NO_WARNINGS )
endif ( )
# F i n d d e p e n d e n c i e s
foreach ( d ZLIB BZip2 PNG HarfBuzz )
string ( TOUPPER "${d}" D )
if ( DEFINED WITH_ ${ d } OR DEFINED WITH_ ${ D } )
if ( WITH_ ${ d } OR WITH_ ${ D } )
find_package ( ${ d } QUIET REQUIRED )
endif ( )
else ( )
find_package ( ${ d } QUIET )
endif ( )
if ( ${ d } _FOUND OR ${ D } _FOUND )
message ( STATUS "Building with ${d}" )
endif ( )
endforeach ( )
if ( FT_WITH_HARFBUZZ )
find_package ( HarfBuzz 1.3.0 REQUIRED )
else ( )
find_package ( HarfBuzz 1.3.0 )
endif ( )
if ( FT_WITH_PNG )
find_package ( PNG REQUIRED )
else ( )
find_package ( PNG )
endif ( )
message ( STATUS
" C r e a t i n g d i r e c t o r y $ { P R O J E C T _ B I N A R Y _ D I R } / i n c l u d e / f r e e t y p e / c o n f i g " )
file ( MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/include/freetype/config" )
if ( FT_WITH_ZLIB )
find_package ( ZLIB REQUIRED )
else ( )
find_package ( ZLIB )
endif ( )
if ( FT_WITH_BZIP2 )
find_package ( BZip2 REQUIRED )
else ( )
find_package ( BZip2 )
endif ( )
# C r e a t e t h e c o n f i g u r a t i o n f i l e
message ( STATUS
" C r e a t i n g f i l e $ { P R O J E C T _ B I N A R Y _ D I R } / i n c l u d e / f r e e t y p e / c o n f i g / f t c o n f i g . h " )
if ( UNIX )
check_include_file ( "unistd.h" HAVE_UNISTD_H )
check_include_file ( "fcntl.h" HAVE_FCNTL_H )
@ -200,38 +214,27 @@ if (UNIX)
F T C O N F I G _ H )
if ( HAVE_UNISTD_H )
string ( REGEX REPLACE
" # u n d e f + ( H A V E _ U N I S T D _ H ) " " # d e f i n e \ \ 1 "
" # u n d e f + ( H A V E _ U N I S T D _ H ) " " # d e f i n e \ \ 1 1 "
F T C O N F I G _ H " $ { F T C O N F I G _ H } " )
endif ( )
if ( HAVE_FCNTL_H )
string ( REGEX REPLACE
" # u n d e f + ( H A V E _ F C N T L _ H ) " " # d e f i n e \ \ 1 "
" # u n d e f + ( H A V E _ F C N T L _ H ) " " # d e f i n e \ \ 1 1 "
F T C O N F I G _ H " $ { F T C O N F I G _ H } " )
endif ( )
if ( HAVE_STDINT_H )
string ( REGEX REPLACE
" # u n d e f + ( H A V E _ S T D I N T _ H ) " " # d e f i n e \ \ 1 "
" # u n d e f + ( H A V E _ S T D I N T _ H ) " " # d e f i n e \ \ 1 1 "
F T C O N F I G _ H " $ { F T C O N F I G _ H } " )
endif ( )
string ( REPLACE "/undef " "#undef "
F T C O N F I G _ H " $ { F T C O N F I G _ H } " )
file ( WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h-new"
" $ { F T C O N F I G _ H } " )
else ( )
file ( READ "${PROJECT_SOURCE_DIR}/include/freetype/config/ftconfig.h"
F T C O N F I G _ H )
file ( WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h-new"
file ( WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h"
" $ { F T C O N F I G _ H } " )
endif ( )
execute_process ( COMMAND ${ CMAKE_COMMAND } -E copy_if_different
" $ { P R O J E C T _ B I N A R Y _ D I R } / i n c l u d e / f r e e t y p e / c o n f i g / f t c o n f i g . h - n e w "
" $ { P R O J E C T _ B I N A R Y _ D I R } / i n c l u d e / f r e e t y p e / c o n f i g / f t c o n f i g . h " )
# C r e a t e t h e o p t i o n s f i l e
message ( STATUS
" C r e a t i n g f i l e $ { P R O J E C T _ B I N A R Y _ D I R } / i n c l u d e / f r e e t y p e / c o n f i g / f t o p t i o n . h " )
file ( READ "${PROJECT_SOURCE_DIR}/include/freetype/config/ftoption.h"
F T O P T I O N _ H )
if ( ZLIB_FOUND )
@ -254,16 +257,8 @@ if (HARFBUZZ_FOUND)
" / \ \ * + ( # d e f i n e + F T _ C O N F I G _ O P T I O N _ U S E _ H A R F B U Z Z ) + \ \ * / " " \ \ 1 "
F T O P T I O N _ H " $ { F T O P T I O N _ H } " )
endif ( )
file ( WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h-new "
file ( WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h"
" $ { F T O P T I O N _ H } " )
execute_process ( COMMAND ${ CMAKE_COMMAND } -E copy_if_different
" $ { P R O J E C T _ B I N A R Y _ D I R } / i n c l u d e / f r e e t y p e / c o n f i g / f t o p t i o n . h - n e w "
" $ { P R O J E C T _ B I N A R Y _ D I R } / i n c l u d e / f r e e t y p e / c o n f i g / f t o p t i o n . h " )
# S p e c i f y l i b r a r y i n c l u d e d i r e c t o r i e s
include_directories ( "${PROJECT_SOURCE_DIR}/include" )
include_directories ( BEFORE "${PROJECT_BINARY_DIR}/include" )
file ( GLOB PUBLIC_HEADERS "include/ft2build.h" "include/freetype/*.h" )
@ -314,25 +309,25 @@ set(BASE_SRCS
)
if ( WIN32 )
set ( BASE_SRCS ${ BASE_SRCS } builds/windows/ftdebug.c )
enable_language ( RC )
list ( APPEND BASE_SRCS builds/windows/ftdebug.c
s r c / b a s e / f t v e r . r c )
elseif ( WINCE )
set ( BASE_SRCS ${ BASE_SRCS } builds/wince/ftdebug.c )
list ( APPEND BASE_SRCS builds/wince/ftdebug.c )
else ( )
set ( BASE_SRCS ${ BASE_SRCS } src/base/ftdebug.c )
list ( APPEND BASE_SRCS src/base/ftdebug.c )
endif ( )
if ( BUILD_FRAMEWORK )
set ( BASE_SRCS
$ { B A S E _ S R C S }
b u i l d s / m a c / f r e e t y p e - I n f o . p l i s t
)
list ( APPEND BASE_SRCS builds/mac/freetype-Info.plist )
endif ( )
if ( NOT DISABLE_FORCE_DEBUG_POSTFIX )
set ( CMAKE_DEBUG_POSTFIX d )
endif ( )
add_library ( freetype
$ { P U B L I C _ H E A D E R S }
$ { P U B L I C _ C O N F I G _ H E A D E R S }
@ -340,15 +335,35 @@ add_library(freetype
$ { B A S E _ S R C S }
)
set_target_properties (
f r e e t y p e P R O P E R T I E S
C _ V I S I B I L I T Y _ P R E S E T h i d d e n )
target_compile_definitions (
f r e e t y p e P R I V A T E F T 2 _ B U I L D _ L I B R A R Y )
if ( WIN32 )
target_compile_definitions (
f r e e t y p e P R I V A T E _ C R T _ S E C U R E _ N O _ W A R N I N G S _ C R T _ N O N S T D C _ N O _ W A R N I N G S )
endif ( )
if ( BUILD_SHARED_LIBS )
set_target_properties ( freetype PROPERTIES
V E R S I O N $ { P R O J E C T _ V E R S I O N }
S O V E R S I O N $ { S H A R E D _ L I B R A R Y _ V E R S I O N }
C O M P I L E _ D E F I N I T I O N S f r e e t y p e _ E X P O R T S
)
V E R S I O N $ { L I B R A R Y _ V E R S I O N }
S O V E R S I O N $ { L I B R A R Y _ S O V E R S I O N } )
endif ( )
target_include_directories (
f r e e t y p e B E F O R E # P i c k u p f t c o n f i g . h a n d f t o p t i o n . h g e n e r a t e d a b o v e .
P R I V A T E " $ { P R O J E C T _ B I N A R Y _ D I R } / i n c l u d e " )
target_include_directories (
f r e e t y p e
P R I V A T E " $ { P R O J E C T _ S O U R C E _ D I R } / i n c l u d e " )
target_include_directories (
f r e e t y p e
P U B L I C $ < I N S T A L L _ I N T E R F A C E : i n c l u d e / f r e e t y p e 2 > )
if ( BUILD_FRAMEWORK )
set_property ( SOURCE ${ PUBLIC_CONFIG_HEADERS }
@ -362,91 +377,121 @@ if (BUILD_FRAMEWORK)
)
endif ( )
if ( NOT CMAKE_VERSION VERSION_LESS 2.8.12 )
target_include_directories ( freetype
P U B L I C $ < I N S T A L L _ I N T E R F A C E : i n c l u d e / f r e e t y p e 2 > )
endif ( )
if ( CMAKE_VERSION VERSION_LESS 2.8.12 )
set ( MAYBE_PRIVATE "" )
else ( )
set ( MAYBE_PRIVATE "PRIVATE" )
endif ( )
set ( PKG_CONFIG_REQUIRED_PRIVATE "" )
if ( ZLIB_FOUND )
target_link_libraries ( freetype ${ MAYBE_PRIVATE } ${ ZLIB_LIBRARIES } )
include_directories ( ${ ZLIB_INCLUDE_DIRS } )
target_link_libraries ( freetype PRIVATE ${ ZLIB_LIBRARIES } )
target_include_directories ( freetype PRIVATE ${ ZLIB_INCLUDE_DIRS } )
list ( APPEND PKG_CONFIG_REQUIRED_PRIVATE zlib )
endif ( )
if ( BZIP2_FOUND )
target_link_libraries ( freetype ${ MAYBE_PRIVATE } ${ BZIP2_LIBRARIES } )
include_directories ( ${ BZIP2_INCLUDE_DIR } ) # n o t B Z I P 2 _ I N C L U D E _ D I R S
target_link_libraries ( freetype PRIVATE ${ BZIP2_LIBRARIES } )
target_include_directories ( freetype PRIVATE ${ BZIP2_INCLUDE_DIR } ) # n o t B Z I P 2 _ I N C L U D E _ D I R S
list ( APPEND PKG_CONFIG_REQUIRED_PRIVATE bzip2 )
endif ( )
if ( PNG_FOUND )
add_definitions ( ${ PNG_DEFINITIONS } )
target_link_libraries ( freetype ${ MAYBE_PRIVATE } ${ PNG_LIBRARIES } )
include_directories ( ${ PNG_INCLUDE_DIRS } )
target_link_libraries ( freetype PRIVATE ${ PNG_LIBRARIES } )
target_compile_definitions ( freetype PRIVATE ${ PNG_DEFINITIONS } )
target_include_directories ( freetype PRIVATE ${ PNG_INCLUDE_DIRS } )
list ( APPEND PKG_CONFIG_REQUIRED_PRIVATE libpng )
endif ( )
if ( HARFBUZZ_FOUND )
target_link_libraries ( freetype ${ MAYBE_PRIVATE } ${ HARFBUZZ_LIBRARIES } )
include_directories ( ${ HARFBUZZ_INCLUDE_DIRS } )
target_link_libraries ( freetype PRIVATE ${ HARFBUZZ_LIBRARIES } )
target_include_directories ( freetype PRIVATE ${ HARFBUZZ_INCLUDE_DIRS } )
list ( APPEND PKG_CONFIG_REQUIRED_PRIVATE harfbuzz )
endif ( )
# I n s t a l l a t i o n s
# N o t e t h e t r a i l i n g s l a s h i n t h e a r g u m e n t t o t h e ` D I R E C T O R Y ' d i r e c t i v e
# I n s t a l l a t i o n
include ( GNUInstallDirs )
if ( NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL )
install ( DIRECTORY ${ PROJECT_SOURCE_DIR } /include/
D E S T I N A T I O N i n c l u d e / f r e e t y p e 2
P A T T E R N " i n t e r n a l " E X C L U D E
P A T T E R N " f t c o n f i g . h " E X C L U D E
P A T T E R N " f t o p t i o n . h " E X C L U D E
)
install ( FILES
$ { P R O J E C T _ B I N A R Y _ D I R } / i n c l u d e / f r e e t y p e / c o n f i g / f t c o n f i g . h
$ { P R O J E C T _ B I N A R Y _ D I R } / i n c l u d e / f r e e t y p e / c o n f i g / f t o p t i o n . h
D E S T I N A T I O N i n c l u d e / f r e e t y p e 2 / f r e e t y p e / c o n f i g
)
install (
# N o t e t h e t r a i l i n g s l a s h i n t h e a r g u m e n t t o ` D I R E C T O R Y ' !
D I R E C T O R Y $ { P R O J E C T _ S O U R C E _ D I R } / i n c l u d e /
D E S T I N A T I O N $ { C M A K E _ I N S T A L L _ I N C L U D E D I R } / f r e e t y p e 2
C O M P O N E N T h e a d e r s
P A T T E R N " i n t e r n a l " E X C L U D E
P A T T E R N " f t c o n f i g . h " E X C L U D E
P A T T E R N " f t o p t i o n . h " E X C L U D E )
install (
F I L E S $ { P R O J E C T _ B I N A R Y _ D I R } / i n c l u d e / f r e e t y p e / c o n f i g / f t c o n f i g . h
$ { P R O J E C T _ B I N A R Y _ D I R } / i n c l u d e / f r e e t y p e / c o n f i g / f t o p t i o n . h
D E S T I N A T I O N $ { C M A K E _ I N S T A L L _ I N C L U D E D I R } / f r e e t y p e 2 / f r e e t y p e / c o n f i g
C O M P O N E N T h e a d e r s )
endif ( )
if ( NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
install ( TARGETS freetype
# G e n e r a t e t h e p k g - c o n f i g f i l e
if ( UNIX )
file ( READ ${ PROJECT_SOURCE_DIR } /builds/unix/freetype2.in FREETYPE2_PC_IN )
string ( REPLACE ";" ", " PKG_CONFIG_REQUIRED_PRIVATE "${PKG_CONFIG_REQUIRED_PRIVATE}" )
string ( REPLACE "%prefix%" ${ CMAKE_INSTALL_PREFIX }
F R E E T Y P E 2 _ P C _ I N $ { F R E E T Y P E 2 _ P C _ I N } )
string ( REPLACE "%exec_prefix%" "\${prefix}"
F R E E T Y P E 2 _ P C _ I N $ { F R E E T Y P E 2 _ P C _ I N } )
string ( REPLACE "%libdir%" "\${prefix}/${CMAKE_INSTALL_LIBDIR}"
F R E E T Y P E 2 _ P C _ I N $ { F R E E T Y P E 2 _ P C _ I N } )
string ( REPLACE "%includedir%" "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}"
F R E E T Y P E 2 _ P C _ I N $ { F R E E T Y P E 2 _ P C _ I N } )
string ( REPLACE "%ft_version%" "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}"
F R E E T Y P E 2 _ P C _ I N $ { F R E E T Y P E 2 _ P C _ I N } )
string ( REPLACE "%REQUIRES_PRIVATE%" "${PKG_CONFIG_REQUIRED_PRIVATE}"
F R E E T Y P E 2 _ P C _ I N $ { F R E E T Y P E 2 _ P C _ I N } )
string ( REPLACE "%LIBS_PRIVATE%" "" # All libs support pkg-config
F R E E T Y P E 2 _ P C _ I N $ { F R E E T Y P E 2 _ P C _ I N } )
file ( WRITE ${ PROJECT_BINARY_DIR } /freetype2.pc ${ FREETYPE2_PC_IN } )
install (
F I L E S $ { P R O J E C T _ B I N A R Y _ D I R } / f r e e t y p e 2 . p c
D E S T I N A T I O N $ { C M A K E _ I N S T A L L _ L I B D I R } / p k g c o n f i g
C O M P O N E N T p k g c o n f i g )
endif ( )
install (
T A R G E T S f r e e t y p e
E X P O R T f r e e t y p e - t a r g e t s
L I B R A R Y D E S T I N A T I O N $ { C M A K E _ I N S T A L L _ L I B D I R }
A R C H I V E D E S T I N A T I O N $ { C M A K E _ I N S T A L L _ L I B D I R }
F R A M E W O R K D E S T I N A T I O N L i b r a r y / F r a m e w o r k s
C O M P O N E N T l i b r a r i e s )
install (
E X P O R T f r e e t y p e - t a r g e t s
R U N T I M E D E S T I N A T I O N b i n
L I B R A R Y D E S T I N A T I O N l i b
A R C H I V E D E S T I N A T I O N l i b
F R A M E W O R K D E S T I N A T I O N L i b r a r y / F r a m e w o r k s
)
install ( EXPORT freetype-targets
D E S T I N A T I O N l i b / c m a k e / f r e e t y p e
F I L E f r e e t y p e - c o n f i g . c m a k e
)
D E S T I N A T I O N $ { C M A K E _ I N S T A L L _ L I B D I R } / c m a k e / f r e e t y p e
F I L E f r e e t y p e - c o n f i g . c m a k e
C O M P O N E N T h e a d e r s )
endif ( )
# P a c k a g i n g
# C P a c k v e r s i o n n u m b e r s f o r r e l e a s e t a r b a l l n a m e .
set ( CPACK_PACKAGE_NAME ${ CMAKE_PROJECT_NAME } )
set ( CPACK_PACKAGE_DESCRIPTION_SUMMARY "The FreeType font rendering library." )
set ( CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README" )
set ( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/docs/LICENSE.TXT" )
set ( CPACK_PACKAGE_VERSION_MAJOR ${ VERSION_MAJOR } )
set ( CPACK_PACKAGE_VERSION_MINOR ${ VERSION_MINOR } )
set ( CPACK_PACKAGE_VERSION_PATCH ${ VERSION_PATCH } } )
if ( NOT DEFINED CPACK_PACKAGE_DESCRIPTION_SUMMARY )
set ( CPACK_PACKAGE_DESCRIPTION_SUMMARY "${CMAKE_PROJECT_NAME}" )
endif ( )
if ( NOT DEFINED CPACK_SOURCE_PACKAGE_FILE_NAME )
set ( CPACK_SOURCE_PACKAGE_FILE_NAME
" $ { C M A K E _ P R O J E C T _ N A M E } - $ { P R O J E C T _ V E R S I O N } - r $ { P R O J E C T _ R E V } "
C A C H E I N T E R N A L " t a r b a l l b a s e n a m e "
)
endif ( )
set ( CPACK_SOURCE_GENERATOR TGZ )
set ( CPACK_SOURCE_IGNORE_FILES
" / C V S / ; / . s v n / ; . s w p $ ; . # ; / # ; / b u i l d / ; / s e r i a l / ; / s e r / ; / p a r a l l e l / ; / p a r / ; ~ ; / p r e c o n f i g . o u t ; / a u t o m 4 t e . c a c h e / ; / . c o n f i g " )
set ( CPACK_GENERATOR TGZ )
include ( CPack )
set ( CPACK_PACKAGE_VERSION_PATCH ${ VERSION_PATCH } )
set ( CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}" )
if ( WIN32 )
set ( CPACK_GENERATOR ZIP )
else ( )
set ( CPACK_GENERATOR TGZ )
endif ( )
# A d d ` m a k e d i s t ' t a r g e t i f F R E E T Y P E _ D I S T i s set ( which is the default )
if ( NOT DEFINED FREETYPE_NO_DIST )
add_custom_target ( dist COMMAND ${ CMAKE_MAKE_PROGRAM } package_source )
endif ( )
set ( CPACK_COMPONENT_LIBRARIES_DISPLAY_NAME "Libraries" )
set ( CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C/C++ Headers" )
set ( CPACK_COMPONENT_LIBRARIES_DESCRIPTION
" L i b r a r y u s e d t o b u i l d p r o g r a m s w h i c h u s e F r e e T y p e " )
set ( CPACK_COMPONENT_HEADERS_DESCRIPTION
" C / C + + h e a d e r f i l e s f o r u s e w i t h F r e e T y p e " )
set ( CPACK_COMPONENT_HEADERS_DEPENDS libraries )
set ( CPACK_COMPONENT_LIBRARIES_GROUP "Development" )
set ( CPACK_COMPONENT_HEADERS_GROUP "Development" )
# e o f
include ( CPack )