Commit Graph

83 Commits

Author SHA1 Message Date
Ebrahim Byagowi
d50d2fcbc7 Fallback if roundf didn't exist, like in dietlibc (#1953) 2019-09-02 19:32:05 -05:00
Derzsi Dániel
658424b29e
[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.
2019-07-26 22:52:03 +03:00
Ebrahim Byagowi
eb8bd2f7ec Add hb_gdi_face_create API
Based on Konstantin Ritt work posted on mailing list
2019-07-21 14:22:19 -07:00
Ebrahim Byagowi
9fea6b4dd4
[amalgam] Use it in cmake port and fix conflicts (#1812) 2019-07-05 18:46:41 +04:30
Behdad Esfahbod
efef672911 Fix cmake build
Hopefullly.
2019-06-17 22:57:51 -07:00
Behdad Esfahbod
23768a99e0 [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
2019-06-17 20:29:29 -07:00
Ebrahim Byagowi
c4cae81a26 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.
2019-06-10 12:49:50 -07:00
Behdad Esfahbod
b567d4ea14 Fix build after UCDN -> UCD 2019-05-23 21:36:42 -04:00
Behdad Esfahbod
3fc066314a Another try at fixing cmake build 2019-04-24 16:41:57 -07:00
Behdad Esfahbod
0ca358f21a Try fixing cmake build 2019-04-24 16:36:29 -04:00
Ebrahim Byagowi
a464cbeece
Revert "Add harfbuzzjs build configuration (#1636)" (#1675)
This reverts commit 694cb1beee.
2019-04-19 12:14:09 -07:00
Ebrahim Byagowi
694cb1beee
Add harfbuzzjs build configuration (#1636) 2019-04-19 07:51:04 -07:00
Joël R. Langlois
d66f7e14a0 Remove Forcing Diagnostic Colours from CMakeLists.txt (#1597)
Fixes https://github.com/harfbuzz/harfbuzz/issues/1596
2019-02-25 23:56:58 +03:30
Ebrahim Byagowi
e5989e0962 [cmake] Enable C++11 on CMake (#1519) 2018-12-30 01:53:47 -05:00
Chun-wei Fan
09b16c536d 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.
2018-12-12 01:23:53 +08:00
Behdad Esfahbod
58d4d19947 Simplify build source list 2018-12-01 19:34:18 -05:00
Ebrahim Byagowi
1b7bfb5e18
[cmake] Make build of tests and subset optional (#1329) 2018-10-30 10:19:40 +03:30
Bruce Mitchener
257d0e5aa3 Fix typos. 2018-10-19 19:24:05 +03:30
Behdad Esfahbod
1e8fdd285f Remove HAVE_OT
We never tested compiling without it.  Just kill it.  We always build
our own shaper.
2018-10-10 16:32:35 -04:00
Ebrahim Byagowi
187df7d7a9
[circleci] Add an iOS bot (#1233) 2018-10-10 17:12:52 +03:30
Chun-wei Fan
8e4ad1d7a0 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.
2018-10-09 09:43:36 -04:00
Simon Hausmann
6a97d0f3d3 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.
2018-09-17 13:03:34 +04:30
Cosimo Lupo
53f73409a9
CMakeLists.txt: don't pass header args as single space-separated string
let python's parse command-line args as usual
2018-07-09 18:54:23 +01:00
Cosimo Lupo
83d2233a5c
CMakeLists.txt: pass headers as arguments to gen-def.py; call using PYTHON_EXECUTABLE 2018-07-09 18:48:20 +01:00
Ebrahim Byagowi
ac92ed7d68
Set inline hidden flag only on shared library building
To avoid need of CMP0063 which is not available on older CMake versions
2018-05-08 01:05:15 +04:30
Ebrahim Byagowi
eff36cd8f0
Minor build related changes 2018-03-30 22:25:35 +04:30
Ebrahim Byagowi
8fd55422c3
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.
2018-03-27 16:57:09 +04:30
Nikolaus Waxweiler
95f0458f44 Policy 0063 must be enabled to have hidden inline visibility... (#900)
...on static builds.
2018-03-24 00:08:11 +04:30
Joel Winarske
d68f00e4d8 Do feature test before adding -Bsymbolic-functions, cmake part (#889) 2018-03-16 22:44:27 +03:30
Ebrahim Byagowi
42d3271cc3
[cmake] Don't hide symbols by default (#891)
But keep use of cmake idiomatic way of making inlines hidden
2018-03-16 22:39:58 +03:30
Nikolaus Waxweiler
22de9bf56d Enable implicit symbol hiding for all libraries, static and shared
This covers all built libraries now and both static and shared builds.
2018-03-14 10:29:24 +00:00
Nikolaus Waxweiler
ce975dce7a 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.
2018-03-14 00:50:32 +00:00
Chun-wei Fan
7c43adab6d CMake: Fix utility program installation
Put in the utility program that was missed in installation by replacing
the one that was duplicated.
2018-03-13 20:17:59 +08:00
Chun-wei Fan
e9b8002a60 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.
2018-03-13 20:17:59 +08:00
Chun-wei Fan
89dbabff65 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.
2018-03-13 20:13:38 +08:00
Ebrahim Byagowi
0eec33154a
[cmake] cleanup (#846) 2018-02-28 11:53:39 +03:30
Garret Rieger
f757757eda [subset] Add cmake build def for test-unicode-ranges. 2018-02-26 16:00:33 -08:00
Behdad Esfahbod
b91e8da36e Include hb-version.h in git (#825) 2018-02-24 10:21:17 +03:30
Behdad Esfahbod
e0939d811f 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.
2018-02-24 00:49:34 +03:30
Ebrahim Byagowi
89b82814b6 Add a continuous builder using fswatch 2018-02-18 23:56:00 +03:30
Ebrahim Byagowi
a9b650d384
Apply check-defs.sh to -icu and -subset, toward mingw fix (#780) 2018-02-12 15:10:13 +03:30
Ebrahim Byagowi
844f48ea9a
Fix symbol exporting and libstdc++ linkage of hb-subset (#769) 2018-02-10 23:13:12 +03:30
Behdad Esfahbod
9682ef135f Minor fixups 2018-02-08 17:35:57 -06:00
Garret Rieger
35eeb893ef Don't include subset headers in libharfbuzz. 2018-02-08 17:31:11 -06:00
Garret Rieger
0f3c756cbf Add CMake config for building a separate harfbuzz-subset. 2018-02-08 17:31:11 -06:00
Garret Rieger
f83a43b561 Add CMake configuration for all of the new subsetting code. 2018-02-04 12:57:34 -08:00
Ebrahim Byagowi
07885e65ad
[cmake] unistd typo fix (#747) 2018-02-03 12:53:48 +03:30
Ebrahim Byagowi
29d901286e
[cmake] Build src/ executables (#733) 2018-01-30 10:01:46 +03:30
Ebrahim Byagowi
c41b7fc105
[cmake] Use -fvisibility-inlines-hidden instead (#726) 2018-01-25 09:53:32 +03:30
Ebrahim Byagowi
3d61576606
[cmake] fix symbol exporting issue on newer gcc (#724) 2018-01-22 21:23:19 +03:30