summaryrefslogtreecommitdiff
path: root/lib/colorhug/meson.build
blob: e55567319a44edb7c76f68e0d2ae40d71f9503fc (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
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
cargs = [
  '-DG_LOG_DOMAIN="libcolorhug"',
]

ch_version_h_conf = configuration_data()
ch_version_h_conf.set('CD_MAJOR_VERSION', colord_major_version)
ch_version_h_conf.set('CD_MINOR_VERSION', colord_minor_version)
ch_version_h_conf.set('CD_MICRO_VERSION', colord_micro_version)

colorhug_version_h = configure_file(
  input : 'ch-version.h.in',
  output : 'ch-version.h',
  configuration : ch_version_h_conf,
  install : true,
  install_dir: join_paths(includedir, 'colord-1', 'colorhug'),
)

install_headers(
    'ch-common.h',
    'ch-device.h',
    'ch-device-queue.h',
    'ch-hash.h',
    'ch-inhx32.h',
    'ch-math.h',
    'colorhug.h',
  subdir : 'colord-1/colorhug',
)

mapfile = 'colorhug.map'
vflag = '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), mapfile)
colorhug = shared_library(
  'colorhug',
  sources : [
    'ch-common.c',
    'ch-device.c',
    'ch-device-queue.c',
    'ch-hash.c',
    'ch-inhx32.c',
    'ch-math.c',
  ],
  soversion : lt_current,
  version : lt_version,
  dependencies : [
    giounix,
    gusb,
    lcms,
    libm,
    libudev,
  ],
  c_args : [
      cargs,
      '-DLOCALSTATEDIR="' + localstatedir + '"',
    ],
  link_with : colordprivate,
  include_directories : [
    colord_incdir,
    lib_incdir,
    root_incdir,
  ],
  link_args : vflag,
  link_depends : mapfile,
  install : true
)

pkgg = import('pkgconfig')
pkgg.generate(
  libraries : colorhug,
  requires : [ 'gio-2.0', 'gobject-2.0', 'gusb', 'colord' ],
  subdirs : 'colord-1/colorhug',
  version : meson.project_version(),
  name : 'colorhug',
  filebase : 'colorhug',
  description : 'ColorHug is a simple display hardware colorimeter',
)

libcolorhug_gir = gnome.generate_gir(colorhug,
  sources : [
    'ch-common.c',
    'ch-common.h',
    'ch-device.c',
    'ch-device.h',
    'ch-device-queue.c',
    'ch-device-queue.h',
    'ch-hash.c',
    'ch-hash.h',
  ],
  nsversion : '1.0',
  namespace : 'Colorhug',
  symbol_prefix : 'ch',
  identifier_prefix : 'Ch',
  export_packages : 'colorhug',
  link_with : colorhug,
  dependencies : [
    gio,
    glib,
    lcms,
  ],
  includes : [
    'Gio-2.0',
    'GObject-2.0',
    'GUsb-1.0',
    libcolord_gir,
  ],
  install : true
)

if get_option('tests')
  testdatadir = join_paths(meson.source_root(), 'data', 'tests')
  e = executable(
    'ch-self-test',
    sources : [
      'ch-self-test.c',
    ],
    include_directories : [
      colord_incdir,
      lib_incdir,
      root_incdir,
    ],
    dependencies : [
      gio,
      gusb,
      lcms,
    ],
    link_with : [
      colordprivate,
      colorhug,
    ],
    c_args : [
      cargs,
      '-DTESTDATADIR="' + testdatadir + '"',
    ],
  )
  test('colorhug-self-test', e)
endif