summaryrefslogtreecommitdiff
path: root/pkcs11/gkm/meson.build
blob: 703f4d231ffe3f020c3b4cea906c72fdca611044 (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
libgkm_sources = files(
  'gkm-aes-key.c',
  'gkm-aes-mechanism.c',
  'gkm-assertion.c',
  'gkm-attributes.c',
  'gkm-certificate.c',
  'gkm-certificate-key.c',
  'gkm-credential.c',
  'gkm-crypto.c',
  'gkm-data-asn1.c',
  'gkm-data-der.c',
  'gkm-debug.c',
  'gkm-dh-key.c',
  'gkm-dh-mechanism.c',
  'gkm-dh-private-key.c',
  'gkm-dh-public-key.c',
  'gkm-dsa-mechanism.c',
  'gkm-ecdsa-mechanism.c',
  'gkm-factory.c',
  'gkm-generic-key.c',
  'gkm-hkdf-mechanism.c',
  'gkm-log.c',
  'gkm-manager.c',
  'gkm-memory-store.c',
  'gkm-mock.c',
  'gkm-module.c',
  'gkm-null-key.c',
  'gkm-null-mechanism.c',
  'gkm-object.c',
  'gkm-private-xsa-key.c',
  'gkm-public-xsa-key.c',
  'gkm-rsa-mechanism.c',
  'gkm-secret.c',
  'gkm-secret-key.c',
  'gkm-serializable.c',
  'gkm-session.c',
  'gkm-sexp.c',
  'gkm-sexp-key.c',
  'gkm-store.c',
  'gkm-test.c',
  'gkm-timer.c',
  'gkm-transaction.c',
  'gkm-trust.c',
  'gkm-util.c',
)

gkm_marshal = gnome.genmarshal('gkm-marshal',
  sources: 'gkm-marshal.list',
  prefix: 'gkm_marshal',
  valist_marshallers: true,
)

libgkm_deps = [
  glib_dep,
  gobject_dep,
  libgcrypt_dep,

  libegg_dep,
]

libgkm = library('gkm',
  name_prefix: '',
  sources: [ libgkm_sources, gkm_marshal, ],
  dependencies: libgkm_deps,
  include_directories: config_h_inc,
  install: true,
  install_dir: gkr_pkglibdir,
)

libgkm_dep = declare_dependency(
  link_with: libgkm,
  include_directories: [
    include_directories('.'),
    include_directories('..'), # for gkm-marshal.h
  ]
)

# Tests
libgkm_mock_sources = files(
  'mock-module.c',
  'mock-locked-object.c',
)

libgkm_mock_deps = [
  glib_dep,
  gobject_dep,

  libgkm_dep,
]

libgkm_mock_cflags = [
  '-DSRCDIR="@0@"'.format(source_root),
]

libgkm_mock = library('gkm-mock',
  sources: libgkm_mock_sources,
  dependencies: libgkm_mock_deps,
  c_args: libgkm_mock_cflags,
  include_directories: config_h_inc,
)

libgkm_tests = [
  'test-attributes',
  'test-credential',
  'test-data-asn1',
  'test-data-der',
  'test-memory-store',
  'test-object',
  'test-certificate',
  'test-secret',
  'test-sexp',
  'test-store',
  'test-timer',
  'test-transaction',
]

libgkm_tests_cflags = [
  '-DSRCDIR="@0@"'.format(source_root),
]

foreach test_name : libgkm_tests
  test_bin = executable(test_name,
    '@0@.c'.format(test_name),
    dependencies: [ libgkm_dep, libgkm_deps ],
    link_with: libgkm_mock,
    c_args: libgkm_tests_cflags,
    include_directories: config_h_inc,
  )

  test(test_name, test_bin,
    suite: 'gkm',
  )
endforeach