aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcodicodi <rob.ceglinski@gmail.com>2017-01-29 18:46:22 +0100
committerGitHub <noreply@github.com>2017-01-29 18:46:22 +0100
commit01c4540a774defebcafb426e4b34bbc9bfab99c9 (patch)
treed3696132742e5271a7824219d623fd10eded7125
parentadd8ef90b413239ef87f7d7fb9bb4ff3463173e4 (diff)
downloadvcpkg-01c4540a774defebcafb426e4b34bbc9bfab99c9.tar.gz
vcpkg-01c4540a774defebcafb426e4b34bbc9bfab99c9.zip
add pango
-rw-r--r--ports/pango/CMakeLists.txt180
-rw-r--r--ports/pango/CONTROL4
-rw-r--r--ports/pango/portfile.cmake26
3 files changed, 210 insertions, 0 deletions
diff --git a/ports/pango/CMakeLists.txt b/ports/pango/CMakeLists.txt
new file mode 100644
index 000000000..d290d1332
--- /dev/null
+++ b/ports/pango/CMakeLists.txt
@@ -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()
diff --git a/ports/pango/CONTROL b/ports/pango/CONTROL
new file mode 100644
index 000000000..b763f25e8
--- /dev/null
+++ b/ports/pango/CONTROL
@@ -0,0 +1,4 @@
+Source: pango
+Version: 1.40.3
+Description: Text and font handling library.
+Build-Depends: glib, gettext, cairo, fontconfig, freetype, harfbuzz
diff --git a/ports/pango/portfile.cmake b/ports/pango/portfile.cmake
new file mode 100644
index 000000000..07dfc6929
--- /dev/null
+++ b/ports/pango/portfile.cmake
@@ -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)