This is a revert of a revert, because the initial revert is only
supposed to be in the release branch.
This reverts commit 3eed00dc54
.
70 lines
2.1 KiB
CMake
70 lines
2.1 KiB
CMake
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
if(WIN32)
|
|
set(HARFBUZZ_CONFIGURE_ENV ${CONFIGURE_ENV_MSVC})
|
|
set(HARFBUZZ_PKG_ENV FREETYPE_DIR=${LIBDIR}/freetype)
|
|
else()
|
|
set(HARFBUZZ_CONFIGURE_ENV ${CONFIGURE_ENV})
|
|
set(HARFBUZZ_PKG_ENV "PKG_CONFIG_PATH=\
|
|
${LIBDIR}/freetype/lib/pkgconfig:\
|
|
${LIBDIR}/brotli/lib/pkgconfig:\
|
|
${LIBDIR}/lib/python3.10/pkgconfig:\
|
|
$PKG_CONFIG_PATH"
|
|
)
|
|
endif()
|
|
|
|
set(HARFBUZZ_EXTRA_OPTIONS
|
|
-Dtests=disabled
|
|
-Dfreetype=enabled
|
|
-Dglib=disabled
|
|
-Dgobject=disabled
|
|
# Only used for command line utilities,
|
|
# disable as this would add an addition & unnecessary build-dependency.
|
|
-Dcairo=disabled
|
|
${MESON_BUILD_TYPE}
|
|
)
|
|
|
|
ExternalProject_Add(external_harfbuzz
|
|
URL file://${PACKAGE_DIR}/${HARFBUZZ_FILE}
|
|
URL_HASH ${HARFBUZZ_HASH_TYPE}=${HARFBUZZ_HASH}
|
|
DOWNLOAD_DIR ${DOWNLOAD_DIR}
|
|
PREFIX ${BUILD_DIR}/harfbuzz
|
|
|
|
CONFIGURE_COMMAND ${HARFBUZZ_CONFIGURE_ENV} &&
|
|
${CMAKE_COMMAND} -E env ${HARFBUZZ_PKG_ENV}
|
|
${MESON} setup
|
|
--prefix ${LIBDIR}/harfbuzz ${HARFBUZZ_EXTRA_OPTIONS}
|
|
--default-library static
|
|
--libdir lib
|
|
${BUILD_DIR}/harfbuzz/src/external_harfbuzz-build
|
|
${BUILD_DIR}/harfbuzz/src/external_harfbuzz
|
|
|
|
BUILD_COMMAND ninja
|
|
INSTALL_COMMAND ninja install
|
|
INSTALL_DIR ${LIBDIR}/harfbuzz
|
|
)
|
|
|
|
add_dependencies(
|
|
external_harfbuzz
|
|
external_python
|
|
external_freetype
|
|
# Needed for `MESON`.
|
|
external_python_site_packages
|
|
)
|
|
|
|
if(BUILD_MODE STREQUAL Release AND WIN32)
|
|
ExternalProject_Add_Step(external_harfbuzz after_install
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/harfbuzz/include ${HARVEST_TARGET}/harfbuzz/include
|
|
# We do not use the subset API currently, so copying only the main library will suffice for now
|
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/harfbuzz/lib/libharfbuzz.a ${HARVEST_TARGET}/harfbuzz/lib/libharfbuzz.lib
|
|
DEPENDEES install
|
|
)
|
|
endif()
|
|
|
|
if(BUILD_MODE STREQUAL Debug AND WIN32)
|
|
ExternalProject_Add_Step(external_harfbuzz after_install
|
|
COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/harfbuzz/lib/libharfbuzz.a ${HARVEST_TARGET}/harfbuzz/lib/libharfbuzz_d.lib
|
|
DEPENDEES install
|
|
)
|
|
endif()
|