aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEbrahim Byagowi <ebrahim@gnu.org>2017-04-15 17:09:04 +0430
committerEbrahim Byagowi <ebrahim@gnu.org>2017-04-27 01:10:27 +0430
commitbb2ddd9789e7619e96673217a01e8e6b12731a61 (patch)
tree10459067f705bb4866c075ee10290dd6ef6802e5
parent35f8d033b75ef7dccf3890a2cce96a8502059914 (diff)
downloadvcpkg-bb2ddd9789e7619e96673217a01e8e6b12731a61.tar.gz
vcpkg-bb2ddd9789e7619e96673217a01e8e6b12731a61.zip
[harfbuzz] Rework harfbuzz with its newly introduced cmake support
-rw-r--r--ports/harfbuzz/CONTROL2
-rw-r--r--ports/harfbuzz/portfile.cmake87
2 files changed, 18 insertions, 71 deletions
diff --git a/ports/harfbuzz/CONTROL b/ports/harfbuzz/CONTROL
index 6a54dc583..6ebe28f37 100644
--- a/ports/harfbuzz/CONTROL
+++ b/ports/harfbuzz/CONTROL
@@ -1,4 +1,4 @@
Source: harfbuzz
-Version: 1.3.4-2
+Version: 1.4.6
Description: HarfBuzz OpenType text shaping engine
Build-Depends: freetype, glib
diff --git a/ports/harfbuzz/portfile.cmake b/ports/harfbuzz/portfile.cmake
index ac3252455..8c77d1efe 100644
--- a/ports/harfbuzz/portfile.cmake
+++ b/ports/harfbuzz/portfile.cmake
@@ -1,78 +1,25 @@
-# Common Ambient Variables:
-# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
-# TARGET_TRIPLET is the current triplet (x86-windows, etc)
-# PORT is the current port name (zlib, etc)
-# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
-# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
-#
-
-if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
- message(STATUS "Warning: Static building not supported yet. Building dynamic.")
- set(VCPKG_LIBRARY_LINKAGE dynamic)
-endif()
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src/harfbuzz-1.3.4)
-find_program(NMAKE nmake)
-
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/harfbuzz-1.4.6)
vcpkg_download_distfile(ARCHIVE
- URLS "https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.3.4.tar.bz2"
- FILENAME "harfbuzz-1.3.4.tar.bz2"
- SHA512 72027ce64d735f1f7ecabcc78ba426d6155cebd564439feb77cefdfc28b00bfd9f6314e6735addaa90cee1d98cf6d2c0b61f77b446ba34e11f7eb7cdfdcd386a
-)
-# Harfbuzz only supports in-source builds, so to make sure we get a clean build, we need to re-extract every time
-file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src)
-vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src)
-
-file(WRITE ${SOURCE_PATH}/win32/msvc_recommended_pragmas.h "/* I'm expected to exist */")
-
-# for GObject support, harfbuzz expects glib-mkenums tool (perl script) to be availible in $(PREFIX)/bin
-file(COPY ${CURRENT_INSTALLED_DIR}/tools/glib/glib-mkenums DESTINATION ${SOURCE_PATH}/bin)
-vcpkg_find_acquire_program(PERL)
-
-file(TO_NATIVE_PATH "${PERL}" PERL_INTERPRETER)
-file(TO_NATIVE_PATH "${SOURCE_PATH}" MKENUMS_TOOL_DIR)
-
-file(TO_NATIVE_PATH "${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/include" INCLUDE_DIR)
-file(TO_NATIVE_PATH "${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/debug/lib" LIB_DIR_DBG)
-file(TO_NATIVE_PATH "${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/lib" LIB_DIR_REL)
-
-set(DEPENDENCIES FREETYPE=1 GLIB=1 GOBJECT=1)
-
-vcpkg_execute_required_process(
- COMMAND ${NMAKE} -f Makefile.vc CFG=debug ${DEPENDENCIES} FREETYPE_DIR=${INCLUDE_DIR} ADDITIONAL_LIB_DIR=${LIB_DIR_DBG}
- PREFIX=${MKENUMS_TOOL_DIR} PERL=${PERL_INTERPRETER}
- WORKING_DIRECTORY ${SOURCE_PATH}/win32/
- LOGNAME nmake-build-${TARGET_TRIPLET}-debug
-)
-
-vcpkg_execute_required_process(
- COMMAND ${NMAKE} -f Makefile.vc CFG=release ${DEPENDENCIES} FREETYPE_DIR=${INCLUDE_DIR} ADDITIONAL_LIB_DIR=${LIB_DIR_REL}
- PREFIX=${MKENUMS_TOOL_DIR} PERL=${PERL_INTERPRETER}
- WORKING_DIRECTORY ${SOURCE_PATH}/win32/
- LOGNAME nmake-build-${TARGET_TRIPLET}-release
-)
-
-file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug" NATIVE_PACKAGES_DIR_DBG)
-
-vcpkg_execute_required_process(
- COMMAND ${NMAKE} -f Makefile.vc CFG=debug ${DEPENDENCIES} PREFIX=${NATIVE_PACKAGES_DIR_DBG} install
- WORKING_DIRECTORY ${SOURCE_PATH}/win32/
- LOGNAME nmake-install-${TARGET_TRIPLET}-debug
+ URLS "https://github.com/behdad/harfbuzz/releases/download/1.4.6/harfbuzz-1.4.6.tar.bz2"
+ FILENAME "harfbuzz-1.4.6.tar.bz2"
+ SHA512 aade3902adadf3a8339ba1d05279e639da7cb53981adc64e2a2d32a5d49335a6a9782a62cdf80beca569ec8a639792bf0368c0b6ecad08f35bc85878678aa096
)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-
-file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR_REL)
-
-vcpkg_execute_required_process(
- COMMAND ${NMAKE} -f Makefile.vc CFG=release ${DEPENDENCIES} PREFIX=${NATIVE_PACKAGES_DIR_REL} install
- WORKING_DIRECTORY ${SOURCE_PATH}/win32/
- LOGNAME nmake-install-${TARGET_TRIPLET}-release
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DHB_HAVE_FREETYPE=ON
+ -DHB_HAVE_GLIB=ON
+ -DHB_BUILTIN_UCDN=OFF
+ OPTIONS_DEBUG
+ -DSKIP_INSTALL_HEADERS=ON
)
-file(GLOB EXECUTABLES
- ${CURRENT_PACKAGES_DIR}/bin/*.exe
- ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
-file(REMOVE ${EXECUTABLES})
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
# Handle copyright
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/harfbuzz)