Welcome to mirror list, hosted at ThFree Co, Russian Federation.

harfbuzz.cmake « cmake « build_environment « build_files - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 0ae9b11d62795be3b108eb7f497bcac9bf7dbe81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# SPDX-License-Identifier: GPL-2.0-or-later

if(WIN32)
  set(HARFBUZZ_CONFIGURE_ENV ${CONFIGURE_ENV_MSVC} && set FREETYPE_DIR=${LIBDIR}/freetype)
else()
  set(HARFBUZZ_CONFIGURE_ENV ${CONFIGURE_ENV} && PKG_CONFIG_PATH=${LIBDIR}/freetype/lib/pkgconfig:${LIBDIR}/brotli/lib/pkgconfig)
endif()

set(HARFBUZZ_EXTRA_OPTIONS
  -Dtests=disabled
  -Dfreetype=enabled
  -Dglib=disabled
  -Dgobject=disabled
)

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} && ${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_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()