aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-01-27 19:07:31 -0800
committerRobert Schumacher <roschuma@microsoft.com>2017-01-27 19:07:31 -0800
commit049da0d83970a9e2f6d053d9daa2bb8f7ca397ed (patch)
tree62dd0448ac98bac70f59d464a02a92836c328f1c
parent8342a7a7bd5c4d14f38f8bb34e2130a7e3094415 (diff)
parent6a58bee5e4e1277aea4c6f0f3991645abb738bbf (diff)
downloadvcpkg-049da0d83970a9e2f6d053d9daa2bb8f7ca397ed.tar.gz
vcpkg-049da0d83970a9e2f6d053d9daa2bb8f7ca397ed.zip
Merge pull request #597 from codicodi/hb-gobject
[harfbuzz] add gobject support
-rw-r--r--ports/harfbuzz/CONTROL4
-rw-r--r--ports/harfbuzz/portfile.cmake38
2 files changed, 31 insertions, 11 deletions
diff --git a/ports/harfbuzz/CONTROL b/ports/harfbuzz/CONTROL
index eab88ff11..6a54dc583 100644
--- a/ports/harfbuzz/CONTROL
+++ b/ports/harfbuzz/CONTROL
@@ -1,4 +1,4 @@
Source: harfbuzz
-Version: 1.3.4
+Version: 1.3.4-2
Description: HarfBuzz OpenType text shaping engine
-Build-Depends: freetype
+Build-Depends: freetype, glib
diff --git a/ports/harfbuzz/portfile.cmake b/ports/harfbuzz/portfile.cmake
index 911dea860..ac3252455 100644
--- a/ports/harfbuzz/portfile.cmake
+++ b/ports/harfbuzz/portfile.cmake
@@ -11,7 +11,7 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
set(VCPKG_LIBRARY_LINKAGE dynamic)
endif()
include(vcpkg_common_functions)
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/harfbuzz-1.3.4)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-src/harfbuzz-1.3.4)
find_program(NMAKE nmake)
vcpkg_download_distfile(ARCHIVE
@@ -19,20 +19,35 @@ vcpkg_download_distfile(ARCHIVE
FILENAME "harfbuzz-1.3.4.tar.bz2"
SHA512 72027ce64d735f1f7ecabcc78ba426d6155cebd564439feb77cefdfc28b00bfd9f6314e6735addaa90cee1d98cf6d2c0b61f77b446ba34e11f7eb7cdfdcd386a
)
-vcpkg_extract_source_archive(${ARCHIVE})
+# 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(TO_NATIVE_PATH "${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/include" FREETYPE_INCLUDE_DIR)
-file(TO_NATIVE_PATH "${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/debug/lib" FREETYPE_LIB_DIR_DBG)
-file(TO_NATIVE_PATH "${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/lib" FREETYPE_LIB_DIR_REL)
+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 FREETYPE=1 FREETYPE_DIR=${FREETYPE_INCLUDE_DIR} ADDITIONAL_LIB_DIR=${FREETYPE_LIB_DIR_DBG}
+ 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 FREETYPE=1 FREETYPE_DIR=${FREETYPE_INCLUDE_DIR} ADDITIONAL_LIB_DIR=${FREETYPE_LIB_DIR_REL}
+ 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
)
@@ -40,7 +55,7 @@ vcpkg_execute_required_process(
file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug" NATIVE_PACKAGES_DIR_DBG)
vcpkg_execute_required_process(
- COMMAND ${NMAKE} -f Makefile.vc CFG=debug FREETYPE=1 PREFIX=${NATIVE_PACKAGES_DIR_DBG} install
+ 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
)
@@ -49,11 +64,16 @@ 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 FREETYPE=1 PREFIX=${NATIVE_PACKAGES_DIR_REL} install
+ 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
)
+file(GLOB EXECUTABLES
+ ${CURRENT_PACKAGES_DIR}/bin/*.exe
+ ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe)
+file(REMOVE ${EXECUTABLES})
+
# Handle copyright
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/harfbuzz)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/harfbuzz/COPYING ${CURRENT_PACKAGES_DIR}/share/harfbuzz/copyright)