Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/libfido2/man/CMakeLists.txt
39586 views
1
# Copyright (c) 2018-2022 Yubico AB. All rights reserved.
2
# Use of this source code is governed by a BSD-style
3
# license that can be found in the LICENSE file.
4
# SPDX-License-Identifier: BSD-2-Clause
5
6
find_program(MANDOC_PATH mandoc)
7
find_program(GZIP_PATH gzip)
8
9
message(STATUS "MANDOC_PATH: ${MANDOC_PATH}")
10
message(STATUS "GZIP_PATH: ${GZIP_PATH}")
11
12
list(APPEND MAN_SOURCES
13
eddsa_pk_new.3
14
es256_pk_new.3
15
es384_pk_new.3
16
fido2-assert.1
17
fido2-cred.1
18
fido2-token.1
19
fido_init.3
20
fido_assert_new.3
21
fido_assert_allow_cred.3
22
fido_assert_set_authdata.3
23
fido_assert_verify.3
24
fido_bio_dev_get_info.3
25
fido_bio_enroll_new.3
26
fido_bio_info_new.3
27
fido_bio_template.3
28
fido_cbor_info_new.3
29
fido_cred_new.3
30
fido_cred_exclude.3
31
fido_credman_metadata_new.3
32
fido_cred_set_authdata.3
33
fido_cred_verify.3
34
fido_dev_enable_entattest.3
35
fido_dev_get_assert.3
36
fido_dev_get_touch_begin.3
37
fido_dev_info_manifest.3
38
fido_dev_largeblob_get.3
39
fido_dev_make_cred.3
40
fido_dev_open.3
41
fido_dev_set_io_functions.3
42
fido_dev_set_pin.3
43
fido_strerr.3
44
rs256_pk_new.3
45
)
46
47
list(APPEND MAN_ALIAS
48
eddsa_pk_new eddsa_pk_free
49
eddsa_pk_new eddsa_pk_from_EVP_PKEY
50
eddsa_pk_new eddsa_pk_from_ptr
51
eddsa_pk_new eddsa_pk_to_EVP_PKEY
52
es256_pk_new es256_pk_free
53
es256_pk_new es256_pk_from_EC_KEY
54
es256_pk_new es256_pk_from_EVP_PKEY
55
es256_pk_new es256_pk_from_ptr
56
es256_pk_new es256_pk_to_EVP_PKEY
57
es384_pk_new es384_pk_free
58
es384_pk_new es384_pk_from_EC_KEY
59
es384_pk_new es384_pk_from_EVP_PKEY
60
es384_pk_new es384_pk_from_ptr
61
es384_pk_new es384_pk_to_EVP_PKEY
62
fido_assert_allow_cred fido_assert_empty_allow_list
63
fido_assert_new fido_assert_authdata_len
64
fido_assert_new fido_assert_authdata_ptr
65
fido_assert_new fido_assert_authdata_raw_len
66
fido_assert_new fido_assert_authdata_raw_ptr
67
fido_assert_new fido_assert_blob_len
68
fido_assert_new fido_assert_blob_ptr
69
fido_assert_new fido_assert_clientdata_hash_len
70
fido_assert_new fido_assert_clientdata_hash_ptr
71
fido_assert_new fido_assert_count
72
fido_assert_new fido_assert_flags
73
fido_assert_new fido_assert_free
74
fido_assert_new fido_assert_hmac_secret_len
75
fido_assert_new fido_assert_hmac_secret_ptr
76
fido_assert_new fido_assert_id_len
77
fido_assert_new fido_assert_id_ptr
78
fido_assert_new fido_assert_largeblob_key_len
79
fido_assert_new fido_assert_largeblob_key_ptr
80
fido_assert_new fido_assert_rp_id
81
fido_assert_new fido_assert_sigcount
82
fido_assert_new fido_assert_sig_len
83
fido_assert_new fido_assert_sig_ptr
84
fido_assert_new fido_assert_user_display_name
85
fido_assert_new fido_assert_user_icon
86
fido_assert_new fido_assert_user_id_len
87
fido_assert_new fido_assert_user_id_ptr
88
fido_assert_new fido_assert_user_name
89
fido_assert_set_authdata fido_assert_set_authdata_raw
90
fido_assert_set_authdata fido_assert_set_clientdata
91
fido_assert_set_authdata fido_assert_set_clientdata_hash
92
fido_assert_set_authdata fido_assert_set_count
93
fido_assert_set_authdata fido_assert_set_extensions
94
fido_assert_set_authdata fido_assert_set_hmac_salt
95
fido_assert_set_authdata fido_assert_set_hmac_secret
96
fido_assert_set_authdata fido_assert_set_rp
97
fido_assert_set_authdata fido_assert_set_sig
98
fido_assert_set_authdata fido_assert_set_up
99
fido_assert_set_authdata fido_assert_set_uv
100
fido_assert_set_authdata fido_assert_set_winhello_appid
101
fido_bio_dev_get_info fido_bio_dev_enroll_begin
102
fido_bio_dev_get_info fido_bio_dev_enroll_cancel
103
fido_bio_dev_get_info fido_bio_dev_enroll_continue
104
fido_bio_dev_get_info fido_bio_dev_enroll_remove
105
fido_bio_dev_get_info fido_bio_dev_get_template_array
106
fido_bio_dev_get_info fido_bio_dev_set_template_name
107
fido_bio_enroll_new fido_bio_enroll_free
108
fido_bio_enroll_new fido_bio_enroll_last_status
109
fido_bio_enroll_new fido_bio_enroll_remaining_samples
110
fido_bio_info_new fido_bio_info_free
111
fido_bio_info_new fido_bio_info_max_samples
112
fido_bio_info_new fido_bio_info_type
113
fido_bio_template fido_bio_template_array_count
114
fido_bio_template fido_bio_template_array_free
115
fido_bio_template fido_bio_template_array_new
116
fido_bio_template fido_bio_template_free
117
fido_bio_template fido_bio_template_id_len
118
fido_bio_template fido_bio_template_id_ptr
119
fido_bio_template fido_bio_template_name
120
fido_bio_template fido_bio_template_new
121
fido_bio_template fido_bio_template_set_id
122
fido_bio_template fido_bio_template_set_name
123
fido_cbor_info_new fido_cbor_info_aaguid_len
124
fido_cbor_info_new fido_cbor_info_aaguid_ptr
125
fido_cbor_info_new fido_cbor_info_algorithm_cose
126
fido_cbor_info_new fido_cbor_info_algorithm_count
127
fido_cbor_info_new fido_cbor_info_algorithm_type
128
fido_cbor_info_new fido_cbor_info_certs_len
129
fido_cbor_info_new fido_cbor_info_certs_name_ptr
130
fido_cbor_info_new fido_cbor_info_certs_value_ptr
131
fido_cbor_info_new fido_cbor_info_extensions_len
132
fido_cbor_info_new fido_cbor_info_extensions_ptr
133
fido_cbor_info_new fido_cbor_info_free
134
fido_cbor_info_new fido_cbor_info_fwversion
135
fido_cbor_info_new fido_cbor_info_maxcredbloblen
136
fido_cbor_info_new fido_cbor_info_maxcredcntlst
137
fido_cbor_info_new fido_cbor_info_maxcredidlen
138
fido_cbor_info_new fido_cbor_info_maxlargeblob
139
fido_cbor_info_new fido_cbor_info_maxmsgsiz
140
fido_cbor_info_new fido_cbor_info_maxrpid_minpinlen
141
fido_cbor_info_new fido_cbor_info_minpinlen
142
fido_cbor_info_new fido_cbor_info_new_pin_required
143
fido_cbor_info_new fido_cbor_info_options_len
144
fido_cbor_info_new fido_cbor_info_options_name_ptr
145
fido_cbor_info_new fido_cbor_info_options_value_ptr
146
fido_cbor_info_new fido_cbor_info_protocols_len
147
fido_cbor_info_new fido_cbor_info_protocols_ptr
148
fido_cbor_info_new fido_cbor_info_rk_remaining
149
fido_cbor_info_new fido_cbor_info_transports_len
150
fido_cbor_info_new fido_cbor_info_transports_ptr
151
fido_cbor_info_new fido_cbor_info_uv_attempts
152
fido_cbor_info_new fido_cbor_info_uv_modality
153
fido_cbor_info_new fido_cbor_info_versions_len
154
fido_cbor_info_new fido_cbor_info_versions_ptr
155
fido_cbor_info_new fido_dev_get_cbor_info
156
fido_cred_exclude fido_cred_empty_exclude_list
157
fido_cred_new fido_cred_aaguid_len
158
fido_cred_new fido_cred_aaguid_ptr
159
fido_cred_new fido_cred_attstmt_len
160
fido_cred_new fido_cred_attstmt_ptr
161
fido_cred_new fido_cred_authdata_len
162
fido_cred_new fido_cred_authdata_ptr
163
fido_cred_new fido_cred_authdata_raw_len
164
fido_cred_new fido_cred_authdata_raw_ptr
165
fido_cred_new fido_cred_clientdata_hash_len
166
fido_cred_new fido_cred_clientdata_hash_ptr
167
fido_cred_new fido_cred_display_name
168
fido_cred_new fido_cred_flags
169
fido_cred_new fido_cred_fmt
170
fido_cred_new fido_cred_free
171
fido_cred_new fido_cred_id_len
172
fido_cred_new fido_cred_id_ptr
173
fido_cred_new fido_cred_largeblob_key_len
174
fido_cred_new fido_cred_largeblob_key_ptr
175
fido_cred_new fido_cred_pin_minlen
176
fido_cred_new fido_cred_prot
177
fido_cred_new fido_cred_pubkey_len
178
fido_cred_new fido_cred_pubkey_ptr
179
fido_cred_new fido_cred_rp_id
180
fido_cred_new fido_cred_rp_name
181
fido_cred_new fido_cred_sigcount
182
fido_cred_new fido_cred_sig_len
183
fido_cred_new fido_cred_sig_ptr
184
fido_cred_new fido_cred_type
185
fido_cred_new fido_cred_user_id_len
186
fido_cred_new fido_cred_user_id_ptr
187
fido_cred_new fido_cred_user_name
188
fido_cred_new fido_cred_x5c_len
189
fido_cred_new fido_cred_x5c_ptr
190
fido_cred_verify fido_cred_verify_self
191
fido_credman_metadata_new fido_credman_del_dev_rk
192
fido_credman_metadata_new fido_credman_get_dev_metadata
193
fido_credman_metadata_new fido_credman_get_dev_rk
194
fido_credman_metadata_new fido_credman_get_dev_rp
195
fido_credman_metadata_new fido_credman_metadata_free
196
fido_credman_metadata_new fido_credman_rk
197
fido_credman_metadata_new fido_credman_rk_count
198
fido_credman_metadata_new fido_credman_rk_existing
199
fido_credman_metadata_new fido_credman_rk_free
200
fido_credman_metadata_new fido_credman_rk_new
201
fido_credman_metadata_new fido_credman_rk_remaining
202
fido_credman_metadata_new fido_credman_rp_count
203
fido_credman_metadata_new fido_credman_rp_free
204
fido_credman_metadata_new fido_credman_rp_id
205
fido_credman_metadata_new fido_credman_rp_id_hash_len
206
fido_credman_metadata_new fido_credman_rp_id_hash_ptr
207
fido_credman_metadata_new fido_credman_rp_name
208
fido_credman_metadata_new fido_credman_rp_new
209
fido_credman_metadata_new fido_credman_set_dev_rk
210
fido_cred_set_authdata fido_cred_set_attstmt
211
fido_cred_set_authdata fido_cred_set_authdata_raw
212
fido_cred_set_authdata fido_cred_set_blob
213
fido_cred_set_authdata fido_cred_set_clientdata
214
fido_cred_set_authdata fido_cred_set_clientdata_hash
215
fido_cred_set_authdata fido_cred_set_extensions
216
fido_cred_set_authdata fido_cred_set_fmt
217
fido_cred_set_authdata fido_cred_set_id
218
fido_cred_set_authdata fido_cred_set_pin_minlen
219
fido_cred_set_authdata fido_cred_set_prot
220
fido_cred_set_authdata fido_cred_set_rk
221
fido_cred_set_authdata fido_cred_set_rp
222
fido_cred_set_authdata fido_cred_set_sig
223
fido_cred_set_authdata fido_cred_set_type
224
fido_cred_set_authdata fido_cred_set_user
225
fido_cred_set_authdata fido_cred_set_uv
226
fido_cred_set_authdata fido_cred_set_x509
227
fido_dev_enable_entattest fido_dev_toggle_always_uv
228
fido_dev_enable_entattest fido_dev_force_pin_change
229
fido_dev_enable_entattest fido_dev_set_pin_minlen
230
fido_dev_enable_entattest fido_dev_set_pin_minlen_rpid
231
fido_dev_get_touch_begin fido_dev_get_touch_status
232
fido_dev_info_manifest fido_dev_info_free
233
fido_dev_info_manifest fido_dev_info_manufacturer_string
234
fido_dev_info_manifest fido_dev_info_new
235
fido_dev_info_manifest fido_dev_info_path
236
fido_dev_info_manifest fido_dev_info_product
237
fido_dev_info_manifest fido_dev_info_product_string
238
fido_dev_info_manifest fido_dev_info_ptr
239
fido_dev_info_manifest fido_dev_info_set
240
fido_dev_info_manifest fido_dev_info_vendor
241
fido_dev_open fido_dev_build
242
fido_dev_open fido_dev_cancel
243
fido_dev_open fido_dev_close
244
fido_dev_open fido_dev_flags
245
fido_dev_open fido_dev_force_fido2
246
fido_dev_open fido_dev_force_u2f
247
fido_dev_open fido_dev_free
248
fido_dev_open fido_dev_has_pin
249
fido_dev_open fido_dev_has_uv
250
fido_dev_open fido_dev_is_fido2
251
fido_dev_open fido_dev_is_winhello
252
fido_dev_open fido_dev_major
253
fido_dev_open fido_dev_minor
254
fido_dev_open fido_dev_new
255
fido_dev_open fido_dev_new_with_info
256
fido_dev_open fido_dev_open_with_info
257
fido_dev_open fido_dev_protocol
258
fido_dev_open fido_dev_supports_cred_prot
259
fido_dev_open fido_dev_supports_credman
260
fido_dev_open fido_dev_supports_permissions
261
fido_dev_open fido_dev_supports_pin
262
fido_dev_open fido_dev_supports_uv
263
fido_dev_set_pin fido_dev_get_retry_count
264
fido_dev_set_pin fido_dev_get_uv_retry_count
265
fido_dev_set_pin fido_dev_reset
266
fido_dev_set_io_functions fido_dev_io_handle
267
fido_dev_set_io_functions fido_dev_set_sigmask
268
fido_dev_set_io_functions fido_dev_set_timeout
269
fido_dev_set_io_functions fido_dev_set_transport_functions
270
fido_dev_largeblob_get fido_dev_largeblob_set
271
fido_dev_largeblob_get fido_dev_largeblob_remove
272
fido_dev_largeblob_get fido_dev_largeblob_get_array
273
fido_dev_largeblob_get fido_dev_largeblob_set_array
274
fido_init fido_set_log_handler
275
rs256_pk_new rs256_pk_free
276
rs256_pk_new rs256_pk_from_ptr
277
rs256_pk_new rs256_pk_from_EVP_PKEY
278
rs256_pk_new rs256_pk_from_RSA
279
rs256_pk_new rs256_pk_to_EVP_PKEY
280
)
281
282
list(LENGTH MAN_ALIAS MAN_ALIAS_LEN)
283
math(EXPR MAN_ALIAS_MAX "${MAN_ALIAS_LEN} - 2")
284
285
# man_copy
286
foreach(f ${MAN_SOURCES})
287
add_custom_command(OUTPUT ${f}
288
COMMAND cp -f ${PROJECT_SOURCE_DIR}/man/${f} .
289
DEPENDS ${f})
290
list(APPEND COPY_FILES ${f})
291
endforeach()
292
293
# man_lint
294
foreach(f ${MAN_SOURCES})
295
add_custom_command(OUTPUT ${f}.lint
296
COMMAND mandoc -T lint -W warning ${f} > ${f}.lint
297
DEPENDS ${f})
298
list(APPEND LINT_FILES ${f}.lint)
299
endforeach()
300
301
# man_html
302
foreach(f ${MAN_SOURCES})
303
string(REGEX REPLACE "\\.[13]$" "" g ${f})
304
add_custom_command(OUTPUT ${g}.html
305
COMMAND mandoc -T html -O man="%N.html",style=style.css -I os="Yubico AB" ${f} > ${g}.html
306
DEPENDS ${f})
307
list(APPEND HTML_FILES ${g}.html)
308
endforeach()
309
310
# man_html_partial
311
foreach(f ${MAN_SOURCES})
312
string(REGEX REPLACE "\\.[13]$" "" g ${f})
313
add_custom_command(OUTPUT ${g}.partial
314
COMMAND cat ${PROJECT_SOURCE_DIR}/man/dyc.css > ${g}.partial
315
COMMAND mandoc -T html -O man="%N.html",fragment ${f} >> ${g}.partial
316
DEPENDS ${f})
317
list(APPEND HTML_PARTIAL_FILES ${g}.partial)
318
endforeach()
319
320
# man_gzip
321
foreach(f ${MAN_SOURCES})
322
add_custom_command(OUTPUT ${f}.gz
323
COMMAND gzip -cn ${f} > ${f}.gz
324
DEPENDS ${f})
325
list(APPEND GZ_FILES ${f}.gz)
326
endforeach()
327
328
macro(define_symlink_target NAME EXT)
329
foreach(i RANGE 0 ${MAN_ALIAS_MAX} 2)
330
math(EXPR j "${i} + 1")
331
list(GET MAN_ALIAS ${i} SRC)
332
list(GET MAN_ALIAS ${j} DST)
333
add_custom_command(OUTPUT ${DST}.${EXT}
334
COMMAND ln -sf ${SRC}.${EXT} ${DST}.${EXT})
335
list(APPEND ${NAME}_LINK_FILES ${DST}.${EXT})
336
endforeach()
337
add_custom_target(${NAME} DEPENDS ${${NAME}_LINK_FILES})
338
endmacro()
339
340
add_custom_target(man_copy DEPENDS ${COPY_FILES})
341
add_custom_target(man_lint DEPENDS ${LINT_FILES})
342
add_custom_target(man_html DEPENDS ${HTML_FILES})
343
add_custom_target(man_html_partial DEPENDS ${HTML_PARTIAL_FILES})
344
add_custom_target(man_gzip DEPENDS ${GZ_FILES})
345
346
define_symlink_target(man_symlink 3)
347
define_symlink_target(man_symlink_html html)
348
define_symlink_target(man_symlink_html_partial partial)
349
define_symlink_target(man_symlink_gzip 3.gz)
350
351
add_dependencies(man_symlink man_copy)
352
add_dependencies(man_lint man_symlink)
353
add_dependencies(man_html man_lint)
354
add_dependencies(man_symlink_html man_html)
355
add_dependencies(man_html_partial man_lint)
356
add_dependencies(man_symlink_html_partial man_html_partial)
357
add_custom_target(man ALL)
358
359
if(MANDOC_PATH)
360
add_dependencies(man man_symlink_html)
361
add_dependencies(man_gzip man_lint)
362
install(FILES ${PROJECT_SOURCE_DIR}/man/style.css
363
DESTINATION "${CMAKE_INSTALL_DOCDIR}/html")
364
foreach(f ${MAN_SOURCES})
365
string(REGEX REPLACE "\\.[13]$" "" f ${f})
366
install(FILES ${PROJECT_BINARY_DIR}/man/${f}.html
367
DESTINATION "${CMAKE_INSTALL_DOCDIR}/html")
368
endforeach()
369
foreach(i RANGE 0 ${MAN_ALIAS_MAX} 2)
370
math(EXPR j "${i} + 1")
371
list(GET MAN_ALIAS ${j} DST)
372
install(FILES ${PROJECT_BINARY_DIR}/man/${DST}.html
373
DESTINATION "${CMAKE_INSTALL_DOCDIR}/html")
374
endforeach()
375
endif()
376
377
if(GZIP_PATH)
378
add_dependencies(man_gzip man_copy)
379
add_dependencies(man_symlink_gzip man_gzip)
380
add_dependencies(man man_symlink_gzip)
381
foreach(f ${MAN_SOURCES})
382
if (${f} MATCHES ".1$")
383
install(FILES ${PROJECT_BINARY_DIR}/man/${f}.gz
384
DESTINATION "${CMAKE_INSTALL_MANDIR}/man1")
385
elseif(${f} MATCHES ".3$")
386
install(FILES ${PROJECT_BINARY_DIR}/man/${f}.gz
387
DESTINATION "${CMAKE_INSTALL_MANDIR}/man3")
388
endif()
389
endforeach()
390
foreach(i RANGE 0 ${MAN_ALIAS_MAX} 2)
391
math(EXPR j "${i} + 1")
392
list(GET MAN_ALIAS ${j} DST)
393
install(FILES ${PROJECT_BINARY_DIR}/man/${DST}.3.gz
394
DESTINATION "${CMAKE_INSTALL_MANDIR}/man3")
395
endforeach()
396
elseif(NOT MSVC)
397
add_dependencies(man man_symlink)
398
foreach(f ${MAN_SOURCES})
399
if (${f} MATCHES ".1$")
400
install(FILES ${PROJECT_BINARY_DIR}/man/${f}
401
DESTINATION "${CMAKE_INSTALL_MANDIR}/man1")
402
elseif(${f} MATCHES ".3$")
403
install(FILES ${PROJECT_BINARY_DIR}/man/${f}
404
DESTINATION "${CMAKE_INSTALL_MANDIR}/man3")
405
endif()
406
endforeach()
407
foreach(i RANGE 0 ${MAN_ALIAS_MAX} 2)
408
math(EXPR j "${i} + 1")
409
list(GET MAN_ALIAS ${j} DST)
410
install(FILES ${PROJECT_BINARY_DIR}/man/${DST}.3
411
DESTINATION "${CMAKE_INSTALL_MANDIR}/man3")
412
endforeach()
413
endif()
414
415