vcpkg/ports/fontconfig/CMakeLists.txt
NancyLi1013 d6285bc24b
[expat] Update the version to 2.2.9 (add support for uwp) (#9146)
* [expat] Update the version to 2.2.9(support uwp)

* [readosm] Fix expat.lib cannot be found

* Remove expat:arm-uwp and expat:x64-uwp from fail list in ci.baseline.txt

* [apr-util,io2d,skia] Fix expat cannot be found and also update expat

* [many ports] Add supports and fix the regressions

* Fix new regressions

* Fix typo

* [io2d] Update expat patch

* [io2d,libkml,skia] Fix expat cannot find and also fix typo

* [expat] Remove usage

* [libkml,vtk] Update expat patch and fix static build

* [wxwidgets] Fix static build caused by expat cannot found

* Update as review suggestion

* Add Port-Version

* Remove evpp:x64-osx=fail from ci.baseline.txt

* [wxwidgest] Remove unnecessary spaces

* [itk] Fix expat cannot be found

* fix cmake test port

* [wxwidgets] Update Port-Version

Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
2020-08-17 08:33:44 -07:00

101 lines
2.8 KiB
CMake

cmake_minimum_required(VERSION 3.11)
project(fontconfig C)
add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS -DHAVE_CONFIG_H)
# find dependencies
find_package(unofficial-iconv CONFIG REQUIRED)
find_package(Freetype REQUIRED)
find_package(expat CONFIG REQUIRED)
add_library(fontconfig
src/fcatomic.c
src/fcblanks.c
src/fccache.c
src/fccfg.c
src/fccharset.c
src/fccompat.c
src/fcdbg.c
src/fcdefault.c
src/fcdir.c
src/fcformat.c
src/fcfreetype.c
src/fcfs.c
src/fcinit.c
src/fclang.c
src/fclist.c
src/fcmatch.c
src/fcmatrix.c
src/fcname.c
src/fcobjs.c
src/fcpat.c
src/fcrange.c
src/fcserialize.c
src/fcstat.c
src/fcstr.c
src/fcweight.c
src/fcxml.c
src/ftglue.c)
if(WIN32)
set_target_properties(fontconfig PROPERTIES DEFINE_SYMBOL "FcPublic=__declspec(dllexport)")
else()
set_target_properties(fontconfig PROPERTIES DEFINE_SYMBOL "FcPublic=__attribute__((visibility(\"default\")))")
endif()
target_include_directories(fontconfig PRIVATE .
${FC_INCLUDE_DIR}/alias
${EXPAT_INCLUDE_DIR})
if(WIN32)
target_include_directories(fontconfig PRIVATE ${FC_INCLUDE_DIR}/win32)
else()
target_include_directories(fontconfig PRIVATE ${FC_INCLUDE_DIR}/unix)
endif()
if(WIN32 AND NOT MINGW)
target_link_libraries(fontconfig PRIVATE unofficial::iconv::libiconv Freetype::Freetype expat::libexpat)
else()
target_link_libraries(fontconfig PRIVATE unofficial::iconv::libiconv Freetype::Freetype expat::expat)
endif()
install(TARGETS fontconfig
EXPORT fontconfig-targets
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
if(NOT FC_SKIP_HEADERS)
install(FILES
fontconfig/fontconfig.h
fontconfig/fcfreetype.h
fontconfig/fcprivate.h
DESTINATION include/fontconfig)
endif()
if(NOT FC_SKIP_TOOLS)
set(FC_DEFAULT_FONTS WINDOWSFONTDIR)
set(FC_FONTPATH)
set(FC_CACHEDIR WINDOWSTEMPDIR_FONTCONFIG_CACHE)
set(CONFIGDIR ./fonts/conf.d)
configure_file(fonts.conf.in ${CMAKE_SOURCE_DIR}/fonts.conf @ONLY)
install(FILES fonts.conf DESTINATION tools/fontconfig)
install(DIRECTORY conf.d DESTINATION tools/fontconfig FILES_MATCHING PATTERN "*.conf")
endif()
install(
EXPORT fontconfig-targets
NAMESPACE unofficial::fontconfig::
FILE unofficial-fontconfig-targets.cmake
DESTINATION share/unofficial-fontconfig
)
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/unofficial-fontconfig-config.cmake "
include(CMakeFindDependencyMacro)
find_dependency(unofficial-iconv CONFIG)
find_dependency(Freetype)
find_dependency(expat CONFIG)
include(\${CMAKE_CURRENT_LIST_DIR}/unofficial-fontconfig-targets.cmake)
")
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-fontconfig-config.cmake DESTINATION share/unofficial-fontconfig)