forked from harfbuzz/harfbuzz
-
Notifications
You must be signed in to change notification settings - Fork 0
/
conanfile.py
71 lines (60 loc) · 2.16 KB
/
conanfile.py
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
from conan import ConanFile
import functools
import os
required_conan_version = ">=1.33.0"
class HarfbuzzConan(ConanFile):
name = "harfbuzz"
version = "9.0.0"
description = "HarfBuzz is an OpenType text shaping engine."
topics = ("opentype", "text", "engine")
url = "https://gitlab.worldiety.net/worldiety/customer/wdy/libriety/cpp/forks"
homepage = "http://harfbuzz.org"
license = "MIT"
settings = "os", "arch", "compiler", "build_type"
options = {
"shared": [True, False],
"fPIC": [True, False],
"with_freetype": [True, False],
"with_gdi": [True, False],
"with_uniscribe": [True, False],
"with_directwrite": [True, False],
"with_subset": [True, False],
}
default_options = {
"shared": True,
"fPIC": True,
"with_freetype": True,
"with_gdi": False,
"with_uniscribe": False,
"with_directwrite": False,
"with_subset": False,
}
short_paths = True
no_copy_source = True
exports_sources = ["*"]
python_requires = "wdyConanHelper/[]"
python_requires_extend = "wdyConanHelper.ConanCMake"
def requirements(self):
if self.options.with_freetype:
self.requires("freetype/[]")
def cmake_definitions(self):
defs = {
"HB_HAVE_FREETYPE": self.options.with_freetype,
"HB_HAVE_GRAPHITE2": False,
"HB_HAVE_GLIB": False,
"HB_HAVE_ICU": False,
"HB_BUILD_UTILS": False,
"HB_BUILD_SUBSET": self.options.with_subset,
"HB_HAVE_GOBJECT": False,
"HB_HAVE_INTROSPECTION": False,
"HB_HAVE_CORETEXT": False,
}
if self.settings.os == "Windows":
defs["HB_HAVE_GDI"] = self.options.with_gdi
defs["HB_HAVE_UNISCRIBE"] = self.options.with_uniscribe
defs["HB_HAVE_DIRECTWRITE"] = self.options.with_directwrite
# fix for MinGW debug build
if self.settings.compiler == "gcc" and self.settings.os == "Windows":
defs["CMAKE_C_FLAGS"] = "-Wa,-mbig-obj "
defs["CMAKE_CXX_FLAGS"] = "-Wa,-mbig-obj"
return defs