mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-30 07:29:11 +08:00
commit
6413900119
180
ports/pango/CMakeLists.txt
Normal file
180
ports/pango/CMakeLists.txt
Normal file
@ -0,0 +1,180 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
project(pango)
|
||||
|
||||
set(PANGO_LIB_SUFFIX 1.0)
|
||||
set(PANGO_DLL_SUFFIX 1)
|
||||
set(GLIB_LIB_VERSION 2.0)
|
||||
|
||||
configure_file(./config.h.win32 ${CMAKE_SOURCE_DIR}/config.h COPYONLY)
|
||||
add_definitions(-DHAVE_CONFIG_H)
|
||||
include_directories(. ./pango)
|
||||
|
||||
# find libintl
|
||||
find_path(LIBINTL_INCLUDE_DIR libintl.h)
|
||||
find_library(LIBINTL_LIBRARY NAMES libintl intl)
|
||||
|
||||
# find glib
|
||||
find_path(GLIB_INCLUDE_DIR glib.h)
|
||||
find_library(GLIB_GLIB_LIBRARY glib-${GLIB_LIB_VERSION})
|
||||
find_library(GLIB_GOBJECT_LIBRARY gobject-${GLIB_LIB_VERSION})
|
||||
find_library(GLIB_GMODULE_LIBRARY gmodule-${GLIB_LIB_VERSION})
|
||||
set(GLIB_LIBRARIES ${GLIB_GLIB_LIBRARY} ${GLIB_GOBJECT_LIBRARY} ${GLIB_GMODULE_LIBRARY})
|
||||
|
||||
# find cairo
|
||||
find_path(CAIRO_INCLUDE_DIR cairo.h)
|
||||
if(CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||
set(CAIRO_SUFFIX d)
|
||||
endif()
|
||||
find_library(CAIRO_LIBRARY cairo${CAIRO_SUFFIX})
|
||||
find_library(CAIRO_GOBJECT_LIBRARY cairo-gobject${CAIRO_SUFFIX})
|
||||
set(CAIRO_LIBRARIES ${CAIRO_LIBRARY} ${CAIRO_GOBJECT_LIBRARY})
|
||||
|
||||
# find fontconfig
|
||||
find_path(FONTCONFIG_INCLUDE_DIR fontconfig/fontconfig.h)
|
||||
find_library(FONTCONFIG_LIBRARY fontconfig)
|
||||
|
||||
# find freetype
|
||||
find_path(FREETYPE_INCLUDE_DIR ft2build.h)
|
||||
if(CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||
set(FT_SUFFIX d)
|
||||
endif()
|
||||
find_library(FREETYPE_LIBRARY freetype${FT_SUFFIX})
|
||||
|
||||
# find harfbuzz
|
||||
find_path(HARFBUZZ_INCLUDE_DIR harfbuzz/hb.h)
|
||||
find_library(HARFBUZZ_LIBRARY harfbuzz)
|
||||
|
||||
set(FONT_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIR} ${FONTCONFIG_INCLUDE_DIR} ${HARFBUZZ_INCLUDE_DIR}/harfbuzz)
|
||||
set(FONT_LIBRARIES ${FREETYPE_LIBRARY} ${FONTCONFIG_LIBRARY} ${HARFBUZZ_LIBRARY})
|
||||
|
||||
macro(pango_add_module MODULE_NAME)
|
||||
add_library(${MODULE_NAME} ${ARGN})
|
||||
target_include_directories(${MODULE_NAME} PRIVATE ${GLIB_INCLUDE_DIR} ${LIBINTL_INCLUDE_DIR})
|
||||
target_link_libraries(${MODULE_NAME} ${LIBINTL_LIBRARY} ${GLIB_LIBRARIES})
|
||||
target_compile_definitions(${MODULE_NAME} PRIVATE
|
||||
G_LOG_DOMAIN="Pango" PANGO_ENABLE_BACKEND PANGO_ENABLE_ENGINE
|
||||
G_DISABLE_SINGLE_INCLUDES SYSCONFDIR="/dummy/etc" LIBDIR="/dummy/lib")
|
||||
target_compile_definitions(${MODULE_NAME} PRIVATE HAVE_CAIRO_FREETYPE=1)
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES
|
||||
OUTPUT_NAME ${MODULE_NAME}-${PANGO_DLL_SUFFIX}
|
||||
ARCHIVE_OUTPUT_NAME ${MODULE_NAME}-${PANGO_LIB_SUFFIX})
|
||||
install(TARGETS ${MODULE_NAME} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
|
||||
endmacro()
|
||||
|
||||
pango_add_module(pango
|
||||
pango/break-arabic.c
|
||||
pango/break-indic.c
|
||||
pango/mini-fribidi/fribidi.c
|
||||
pango/mini-fribidi/fribidi_char_type.c
|
||||
pango/mini-fribidi/fribidi_types.c
|
||||
pango/break.c
|
||||
pango/ellipsize.c
|
||||
pango/fonts.c
|
||||
pango/glyphstring.c
|
||||
pango/modules.c
|
||||
pango/pango-attributes.c
|
||||
pango/pango-bidi-type.c
|
||||
pango/pango-color.c
|
||||
pango/pango-context.c
|
||||
pango/pango-coverage.c
|
||||
pango/pango-engine.c
|
||||
pango/pango-fontmap.c
|
||||
pango/pango-fontset.c
|
||||
pango/pango-glyph-item.c
|
||||
pango/pango-gravity.c
|
||||
pango/pango-item.c
|
||||
pango/pango-language.c
|
||||
pango/pango-layout.c
|
||||
pango/pango-markup.c
|
||||
pango/pango-matrix.c
|
||||
pango/pango-renderer.c
|
||||
pango/pango-script.c
|
||||
pango/pango-tabs.c
|
||||
pango/pango-utils.c
|
||||
pango/reorder-items.c
|
||||
pango/shape.c
|
||||
pango/pango-enum-types.c)
|
||||
|
||||
pango_add_module(pangowin32
|
||||
pango/pangowin32.c
|
||||
pango/pangowin32-fontcache.c
|
||||
pango/pangowin32-fontmap.c
|
||||
pango/pangowin32-shape.c)
|
||||
target_link_libraries(pangowin32 usp10 pango)
|
||||
|
||||
pango_add_module(pangoft2
|
||||
pango/pangofc-font.c
|
||||
pango/pangofc-fontmap.c
|
||||
pango/pangofc-decoder.c
|
||||
pango/pangofc-shape.c
|
||||
pango/pangoft2.c
|
||||
pango/pangoft2-fontmap.c
|
||||
pango/pangoft2-render.c
|
||||
pango/pango-ot-buffer.c
|
||||
pango/pango-ot-info.c
|
||||
pango/pango-ot-ruleset.c
|
||||
pango/pango-ot-tag.c)
|
||||
target_link_libraries(pangoft2 pango ${FONT_LIBRARIES})
|
||||
target_include_directories(pangoft2 PRIVATE ${FONT_INCLUDE_DIRS})
|
||||
|
||||
pango_add_module(pangocairo
|
||||
pango/pangocairo-fcfont.c
|
||||
pango/pangocairo-fcfontmap.c
|
||||
pango/pangocairo-win32font.c
|
||||
pango/pangocairo-win32fontmap.c
|
||||
pango/pangocairo-context.c
|
||||
pango/pangocairo-font.c
|
||||
pango/pangocairo-fontmap.c
|
||||
pango/pangocairo-render.c)
|
||||
target_link_libraries(pangocairo ${CAIRO_LIBRARIES} pango pangowin32 pangoft2 ${FONT_LIBRARIES})
|
||||
target_include_directories(pangocairo PRIVATE ${CAIRO_INCLUDE_DIR} ${FONT_INCLUDE_DIRS})
|
||||
|
||||
if(NOT PANGO_SKIP_HEADERS)
|
||||
install(FILES
|
||||
pango/pango.h
|
||||
pango/pango-attributes.h
|
||||
pango/pango-bidi-type.h
|
||||
pango/pango-break.h
|
||||
pango/pango-context.h
|
||||
pango/pango-coverage.h
|
||||
pango/pango-engine.h
|
||||
pango/pango-font.h
|
||||
pango/pango-fontmap.h
|
||||
pango/pango-fontset.h
|
||||
pango/pango-glyph.h
|
||||
pango/pango-glyph-item.h
|
||||
pango/pango-gravity.h
|
||||
pango/pango-item.h
|
||||
pango/pango-language.h
|
||||
pango/pango-layout.h
|
||||
pango/pango-matrix.h
|
||||
pango/pango-modules.h
|
||||
pango/pango-renderer.h
|
||||
pango/pango-script.h
|
||||
pango/pango-tabs.h
|
||||
pango/pango-types.h
|
||||
pango/pango-utils.h
|
||||
pango/pango-version-macros.h
|
||||
pango/pangocairo.h
|
||||
pango/pangowin32.h
|
||||
pango/pango-features.h
|
||||
pango/pango-enum-types.h
|
||||
pango/pangofc-decoder.h
|
||||
pango/pangofc-font.h
|
||||
pango/pangofc-fontmap.h
|
||||
pango/pango-ot.h
|
||||
pango/pangoft2.h
|
||||
DESTINATION include/pango)
|
||||
endif()
|
||||
|
||||
message(STATUS "Link-time dependencies:")
|
||||
message(STATUS " " ${LIBINTL_LIBRARY})
|
||||
foreach(GL ${GLIB_LIBRARIES})
|
||||
message(STATUS " " ${GL})
|
||||
endforeach()
|
||||
foreach(CL ${CAIRO_LIBRARIES})
|
||||
message(STATUS " " ${CL})
|
||||
endforeach()
|
||||
foreach(FL ${FONT_LIBRARIES})
|
||||
message(STATUS " " ${FL})
|
||||
endforeach()
|
4
ports/pango/CONTROL
Normal file
4
ports/pango/CONTROL
Normal file
@ -0,0 +1,4 @@
|
||||
Source: pango
|
||||
Version: 1.40.3
|
||||
Description: Text and font handling library.
|
||||
Build-Depends: glib, gettext, cairo, fontconfig, freetype, harfbuzz
|
26
ports/pango/portfile.cmake
Normal file
26
ports/pango/portfile.cmake
Normal file
@ -0,0 +1,26 @@
|
||||
|
||||
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
|
||||
message(STATUS "Warning: Static building not supported. Building dynamic.")
|
||||
set(VCPKG_LIBRARY_LINKAGE dynamic)
|
||||
endif()
|
||||
|
||||
include(vcpkg_common_functions)
|
||||
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/pango-1.40.3)
|
||||
vcpkg_download_distfile(ARCHIVE
|
||||
URLS "http://ftp.gnome.org/pub/GNOME/sources/pango/1.40/pango-1.40.3.tar.xz"
|
||||
FILENAME "pango-1.40.3.tar.xz"
|
||||
SHA512 ff82395e8487624dffe212975b72b3383dcebb197a8675c8b409665e3e2e30fc23d9a6c25c3129a115adb7182b2a71a49550dbe881eb7ee9bbc572de6ba18d27)
|
||||
|
||||
vcpkg_extract_source_archive(${ARCHIVE})
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
OPTIONS_DEBUG
|
||||
-DPANGO_SKIP_HEADERS=ON)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/pango)
|
||||
file(RENAME ${CURRENT_PACKAGES_DIR}/share/pango/COPYING ${CURRENT_PACKAGES_DIR}/share/pango/copyright)
|
Loading…
Reference in New Issue
Block a user