CMakeLists.txt

Branch


Log

Author Commit Date CI Message
Thomas de Grivel 15ede069 2025-10-27T17:52:23 add -fPIC to libraries and build shared libraries
Jordan 682a2c37 2025-08-31T22:50:15 [cmake] Fix missing sources (#5519)
Behdad Esfahbod 4a1d4fbf 2025-08-17T17:12:22 harfbuzz.cc hb-shape (#5474) * [util] Respect HB_NO_FEATURES_H macro For builds using harfbuzz.cc and no features file. * Kill PACKAGE_NAME and PACKAGE_VERSION Remnants of autotools. * [BUILD.md] Update
Andarwinux dbbf6def 2025-08-05T02:44:44 add libdwrite to PC_LIBS_PRIV if directwrite is enabled
Christoph Thien 68f22726 2025-07-16T13:31:19 fix linker error on Windows : 'unresolved external symbol __imp_DWriteCreateFactory' When using HB_HAVE_DIRECTWRITE=ON then we get linker error: harfbuzz.cc.obj : error LNK2019: unresolved external symbol __imp_DWriteCreateFactory referenced in function "public: __cdecl hb_directwrite_global_t::hb_directwrite_global_t(void)" (??0hb_directwrite_global_t@@QEAA@XZ) Added linking to dwrite.lib on Windows.
TN-mo 826b7c13 2025-06-28T05:55:05 fix "too many sections" compilation fails on windows
Ozkan Sezer bd6b30b1 2025-05-20T04:03:37 cmake: always set inline hidden flag. This practically reverts commit ac92ed7d6875374451246a2391859fb763329adb: minimum required cmake version is more than new enough.
Jeff McKenna c200418f 2025-05-22T10:56:29 remove hb-ot-shape-closure
JordanTheToaster b0f4979d 2025-04-22T08:42:58 [cmake] Fix missing sources
Behdad Esfahbod 21516f74 2025-04-15T09:58:25 [cmake] Add hb-script-list.h Fixes https://github.com/harfbuzz/harfbuzz/issues/5288
Ozkan Sezer e57e7285 2025-03-20T11:55:50 cmake: add missing FT_Get_Transform check
Jim-Wang b97ef6c7 2025-02-13T07:19:04 add dep
Thrita ba31fc95 2025-01-11T13:21:57 Add support for Apple framework builds (#4993) * Build: Update Apple Framework properties Signed-off-by: Treata11 <treata11@yahoo.com> * Build: Fix issues related to Framework properties Signed-off-by: Treata11 <treata11@yahoo.com> * Build: Fix framework properties of SHARED_LIBS Signed-off-by: Treata11 <treata11@yahoo.com> * Fix typos --------- Signed-off-by: Treata11 <treata11@yahoo.com>
Garret Rieger 05650416 2025-01-07T19:56:25 [repacker] rename hb-subset-repacker -> hb-subset-serialize. Also hb_link_t and hb_object_t to hb_subset_serialize_link_t and hb_subset_serialize_object_t.
Khaled Hosny b461c422 2024-06-27T16:03:48 Fold the remaining Makefile.sources into CMakeLists.txt That is the only place where they are used now.
Khaled Hosny fa82ecd2 2024-06-27T07:20:44 Fix CMake build
Don Olmstead cef1eafb 2024-06-13T14:03:36 Use find_package for ICU ICU 75.1 requires C++17 support so use `find_package(ICU)` which determines the versioning. Sets `CMAKE_CXX_STANDARD` when that happens. Follows along with what Meson build did in 93d58f83.
Timo Suoranta 39b5ae79 2024-04-12T17:15:09 Fix for #4395
Bruce Mitchener 582a5b3a 2024-02-16T23:28:53 cmake: Switch to `find_package(Python3)`. The existing way of working used in this file was deprecated in cmake 3.12 and a new way supplied. See https://cmake.org/cmake/help/latest/policy/CMP0148.html
Behdad Esfahbod 4a18c502 2024-01-23T05:12:43 [cmake] Treat VITA like gcc https://github.com/vitasdk/packages/issues/300
Chun-wei Fan 5e9710ff 2023-11-30T17:42:46 CMake: Update introspection cflags Make the flags between --cflags-[begin|end] correspond to the ones used in the Meson builds better.
Chun-wei Fan ea526c3d 2023-11-30T17:35:04 CMake: Generate and install hb-features.h By the features that are enabled for the build. The header is installed unless one chooses not to install it
Chun-wei Fan 86fd6b10 2023-11-30T16:39:10 CMake: Build the hb-info utility program ...if GObject support is enabled.
Chun-wei Fan d112ed40 2023-11-30T16:14:19 CMake: Install hb-subset-repacker.h It ought to be installed.
Chun-wei Fan 1d86b844 2023-11-30T16:05:51 CMake: Build libharfbuzz-cairo and fix hb-view build There is now a separate library that we build if Cairo support is enabled, which will also be used to build hb-view, so we: * Add support in the CMake build files to build libharfbuzz-cairo, if enabled via HB_HAVE_CAIRO. Move the Cairo detection bits around as a result. * Generate pkg-config file for libharfbuzz-cairo, and add 'cairo' to Requires.private. * Fix building hb-view, which will now depend on libharfbuzz-cairo, so Cairo support must be explicitly enabled. * Stop depending automatically on Cairo if HB_BUILD_UTILS is enabled unless Cairo support is enabled as a result.
Amir Masoud Abdol 0a3e4c12 2023-01-17T09:36:03 Replace the deprecated $<CONFIGURATION> with $<CONFIG>
Ankith a120b01a 2022-09-06T15:32:04 [cmake] Generate pkg-config .pc files
Not-a-Bug Won't Fix aec34e17 2022-07-07T15:42:51 Fix target_link_libraries signatures mixing
Luca Bacci 3a722c53 2022-07-06T19:22:38 Fixes for DWrite header checks
Luca Bacci 1abc14b4 2022-07-06T17:52:29 Do not link with the DWrite lib It's loaded dynamically now
Cosimo Lupo 53eeeab0 2022-04-06T12:54:40 CMakeLists.txt: also match 'AppleClang' compiler to not link with libc++
Timo Suoranta b8c2c1ab 2022-01-11T13:14:44 Use freetype from CMake target when present (#3361) Add check for Freetype CMake target. If it is found: - enable HB_HAVE_FREETYPE option - add HAVE_FREETYPE=1 define - bypass finding Freetype as cmake package - add Freetype CMake target as dependency to harfbuzz
faywong b621c4fc 2021-10-11T21:04:47 [subset] Refine the coding style
faywong f8538d31 2021-10-11T21:01:21 [subset] Export header & archive when HB_BUILD_SUBSET Ease the adopt of hb-subset feature for 3rd party developers
NikitaFeodonit 19cd84b4 2021-09-15T16:31:32 CMake: Detect pthread with module FindThread Set CMake minimum version to 3.1.
Behdad Esfahbod c4b49075 2021-04-01T10:47:18 Update CMakeLists.txt Keep the warning.
Timo Suoranta 9945f327 2021-02-06T14:24:25 Test fix to export target include directories
Behdad Esfahbod dbcf2f41 2021-03-01T12:43:32 [cmake] Fix syntax
Behdad Esfahbod 11c28cb5 2021-02-22T17:38:53 [cmake] Define HAVE_PTHREAD if not on win32 Yeah...
Behdad Esfahbod c2fc2aa4 2020-06-29T01:49:28 [atomic] Remove Solaris intrinsics
Behdad Esfahbod 7099a6dc 2020-06-29T01:47:37 [atomic] Remove old Intel primitives implementation
Chun-wei Fan 2953a66a 2020-12-09T12:24:18 CMake: Define HAVE_GOBJECT when harfbuzz-gobject is built Without this, the built library for harfbuzz-gobject is unuseful.
David Corbett e25aa49a 2020-10-17T12:32:41 Fix a dead link in CMakeLists.txt
Ebrahim Byagowi 2af58c35 2020-08-12T00:51:07 Revert "Remove cmake build files" This reverts commit 4e572c940724cdae6f140df924c9ad7f4baea35e.
Ebrahim Byagowi 4e572c94 2020-07-30T16:19:15 Remove cmake build files As discussed in https://github.com/harfbuzz/harfbuzz/pull/2252
Ebrahim Byagowi 1536271f 2020-06-28T13:35:13 Don't check roundf availability in cmake and meson
Ebrahim Byagowi 8c84fee2 2020-06-22T04:04:40 Update build systems status messages
Ebrahim Byagowi 44fe1c8f 2020-03-25T16:36:48 Remove xlocale use now that isn't available in most distros Our CI bots don't detect it in Alpine, ArchLinux, Ubuntu and Fedora so let's get rid of it use the fallback we are using anyway for a long time.
Ebrahim Byagowi e860000d 2020-03-12T21:04:06 [cmake] Suggest Meson port in CMake
Ebrahim Byagowi b1c3d0b8 2020-03-12T20:59:18 [cmake] cleanup
Ebrahim Byagowi c494d7ab 2020-03-11T19:44:13 Remove cmake testing and add meson build bot CMake tests are broken anyway as py3 changes so let's get rid of them
Ebrahim Byagowi 79b2b8a9 2020-02-19T16:41:13 minor
Rico Tzschichholz 2c9fbf55 2020-02-12T14:59:52 Improve GIR build
Ebrahim Byagowi f7187e90 2020-01-24T20:22:27 [cmake] Don't build src/main Closes #2108
Don 878e3588 2019-11-05T15:26:01 [cmake] Add harfbuzz-icu library
Ebrahim Byagowi d50d2fcb 2019-09-03T05:02:06 Fallback if roundf didn't exist, like in dietlibc (#1953)
Derzsi Dániel 658424b2 2019-07-26T22:52:03 [cmake] Fix CMake build on newer CMake versions Unfortunately, newer CMake versions die during regex variable extraction, causing the build to fail. This is caused by the lack of escaping used around variables in the extract_make_variable function, causing these variables to be automatically unwrapped into empty strings.
Ebrahim Byagowi eb8bd2f7 2019-07-16T22:27:01 Add hb_gdi_face_create API Based on Konstantin Ritt work posted on mailing list
Ebrahim Byagowi 9fea6b4d 2019-07-05T18:46:41 [amalgam] Use it in cmake port and fix conflicts (#1812)
Behdad Esfahbod efef6729 2019-06-17T22:57:51 Fix cmake build Hopefullly.
Behdad Esfahbod 23768a99 2019-06-17T20:29:29 [config] Replace HAVE_FALLBACK with HB_NO_FALLBACK_SHAPE This disables fallback shaper in tiny builds. Projects that don't use our build system and want to disable fallback shaper (eg. Firefox) should define HB_NO_FALLBACK_SHAPE now. Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Ebrahim Byagowi c4cae81a 2019-06-10T15:32:54 Remove round polyfill Added in 01dff1e and 19256bef, this was targeted at older msvc versions that don't support C99 but now as we require C++11 we don't target places those envs thus removing this.
Behdad Esfahbod b567d4ea 2019-05-23T21:36:42 Fix build after UCDN -> UCD
Behdad Esfahbod 3fc06631 2019-04-24T16:41:57 Another try at fixing cmake build
Behdad Esfahbod 0ca358f2 2019-04-24T16:36:29 Try fixing cmake build
Ebrahim Byagowi a464cbee 2019-04-19T12:14:09 Revert "Add harfbuzzjs build configuration (#1636)" (#1675) This reverts commit 694cb1beeefe1c54b2e613d2d566a21e248a2c9c.
Ebrahim Byagowi 694cb1be 2019-04-19T07:51:04 Add harfbuzzjs build configuration (#1636)
Joël R. Langlois bb29ece2 2019-02-25T15:26:58 Remove Forcing Diagnostic Colours from CMakeLists.txt (#1597) Fixes https://github.com/harfbuzz/harfbuzz/issues/1596
Joël R. Langlois d66f7e14 2019-02-25T15:26:58 Remove Forcing Diagnostic Colours from CMakeLists.txt (#1597) Fixes https://github.com/harfbuzz/harfbuzz/issues/1596
Ebrahim Byagowi e5989e09 2018-12-30T10:23:47 [cmake] Enable C++11 on CMake (#1519)
Chun-wei Fan 09b16c53 2018-12-12T01:23:53 CMake: Fix Introspection builds We need to add -DHB_AAT_H and -DHB_AAT_H_IN to the flags that are passed to g-ir-scanner, so that introspection builds can proceed normally.
Behdad Esfahbod 58d4d199 2018-12-01T19:34:18 Simplify build source list
Ebrahim Byagowi 1b7bfb5e 2018-10-30T10:19:40 [cmake] Make build of tests and subset optional (#1329)
Bruce Mitchener 257d0e5a 2018-10-19T22:49:21 Fix typos.
Behdad Esfahbod 1e8fdd28 2018-10-10T16:32:35 Remove HAVE_OT We never tested compiling without it. Just kill it. We always build our own shaper.
Ebrahim Byagowi 187df7d7 2018-10-10T17:12:52 [circleci] Add an iOS bot (#1233)
Chun-wei Fan 8e4ad1d7 2018-07-25T18:12:34 builds: Fix and clean up MSVC DLL builds Instead of passing a CFLAG/CXXFLAG to define HB_EXTERN, define it directly in src/hb.hh as __declspec(dllexport) extern when we are building HarfBuzz as DLLs on Visual Studio. Define HB_INTERNAL as nothing without defining HB_NO_VISIBILITY when building HarfBuzz as DLLs to avoid linker errors on Visual Studio builds. Also "install" harfbuzz-subset.dll into $(PREFIX)\bin as the hb-subset utility will depend on that DLL at runtime, when HarfBuzz is built as DLLs. Since it consists of private APIs that are subject to change, we do not install its headers nor .lib file.
Simon Hausmann 6a97d0f3 2018-09-17T10:33:34 Fix installation of cmake config when building with cmake (#1161) When building with the auto tools, the manually mantained harfbuzz-config.cmake is installed. When building with cmake, we can use cmake to generate the correct config files for us and install them.
Cosimo Lupo 53f73409 2018-07-09T18:54:23 CMakeLists.txt: don't pass header args as single space-separated string let python's parse command-line args as usual
Cosimo Lupo 83d2233a 2018-07-09T18:48:20 CMakeLists.txt: pass headers as arguments to gen-def.py; call using PYTHON_EXECUTABLE
Ebrahim Byagowi ac92ed7d 2018-05-08T01:05:15 Set inline hidden flag only on shared library building To avoid need of CMP0063 which is not available on older CMake versions
Ebrahim Byagowi eff36cd8 2018-03-30T22:25:35 Minor build related changes
Ebrahim Byagowi 8fd55422 2018-03-27T16:57:09 Implement an internal emojis dumper tool (#909) Later to be expanded to a more general tool but for now it only supports CBDT, SVG and CBDT.
Nikolaus Waxweiler 95f0458f 2018-03-23T19:38:11 Policy 0063 must be enabled to have hidden inline visibility... (#900) ...on static builds.
Joel Winarske d68f00e4 2018-03-16T12:14:27 Do feature test before adding -Bsymbolic-functions, cmake part (#889)
Ebrahim Byagowi 42d3271c 2018-03-16T22:39:58 [cmake] Don't hide symbols by default (#891) But keep use of cmake idiomatic way of making inlines hidden
Nikolaus Waxweiler 22de9bf5 2018-03-14T10:29:24 Enable implicit symbol hiding for all libraries, static and shared This covers all built libraries now and both static and shared builds.
Nikolaus Waxweiler ce975dce 2018-03-14T00:50:32 CMake: hide symbols by default on non-MSVC, define export attribute This change makes sure that non-MSVC builds using CMake properly hide non-exported functions.
Chun-wei Fan 7c43adab 2018-03-12T16:43:53 CMake: Fix utility program installation Put in the utility program that was missed in installation by replacing the one that was duplicated.
Chun-wei Fan e9b8002a 2018-03-12T16:23:57 CMake: Fix introspection on Windows The list of source files to pass to g-ir-scanner is becoming too long for Windows, as Windows imposes a 8192-character limit for command lines, so we need to first transform that list into a listings file, and then use the --filelist option for g-ir-scanner to build the introspection files.
Chun-wei Fan 89dbabff 2018-03-12T13:27:38 configure.ac/CMake: Check for round() and stdbool.h Not all the compilers that HarfBuzz is buildable on supports round() and has the header stdbool.h, so we check for them and define HAVE_ROUND and HAVE_STDBOOL_H repsectively in our CFLAGS so that we include them only when they are found, or use fallback implementations when necessary. Also include FindPythonInterp earlier as we need PYTHON_EXECUTABLE to be set for running the tests.
Ebrahim Byagowi 0eec3315 2018-02-28T11:53:39 [cmake] cleanup (#846)
Garret Rieger f757757e 2018-02-26T15:56:36 [subset] Add cmake build def for test-unicode-ranges.
Behdad Esfahbod b91e8da3 2018-02-23T22:51:17 Include hb-version.h in git (#825)
Behdad Esfahbod e0939d81 2018-02-23T13:19:34 Clean up check-defs and check-symbols (#821) Also, call c++filt on their results. Also build and fix and check harfbuzz-gobject.def Also changes harfbuzz-gobject to distribute generated enum sources.
Ebrahim Byagowi 89b82814 2018-02-16T12:53:33 Add a continuous builder using fswatch
Ebrahim Byagowi a9b650d3 2018-02-12T15:10:13 Apply check-defs.sh to -icu and -subset, toward mingw fix (#780)
Ebrahim Byagowi 844f48ea 2018-02-10T23:13:12 Fix symbol exporting and libstdc++ linkage of hb-subset (#769)
Behdad Esfahbod 9682ef13 2018-02-08T17:35:57 Minor fixups
Garret Rieger 35eeb893 2018-02-08T15:17:34 Don't include subset headers in libharfbuzz.