diff options
| author | Ebrahim Byagowi <ebrahim@gnu.org> | 2017-04-15 17:09:04 +0430 |
|---|---|---|
| committer | Ebrahim Byagowi <ebrahim@gnu.org> | 2017-04-27 01:10:27 +0430 |
| commit | bb2ddd9789e7619e96673217a01e8e6b12731a61 (patch) | |
| tree | 10459067f705bb4866c075ee10290dd6ef6802e5 | |
| parent | 35f8d033b75ef7dccf3890a2cce96a8502059914 (diff) | |
| download | vcpkg-bb2ddd9789e7619e96673217a01e8e6b12731a61.tar.gz vcpkg-bb2ddd9789e7619e96673217a01e8e6b12731a61.zip | |
[harfbuzz] Rework harfbuzz with its newly introduced cmake support
| -rw-r--r-- | ports/harfbuzz/CONTROL | 2 | ||||
| -rw-r--r-- | ports/harfbuzz/portfile.cmake | 87 |
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) |
