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 6list(APPEND COMPAT_SOURCES 7 ../openbsd-compat/bsd-getpagesize.c 8 ../openbsd-compat/explicit_bzero.c 9 ../openbsd-compat/freezero.c 10 ../openbsd-compat/recallocarray.c 11 ../openbsd-compat/strlcat.c 12 ../openbsd-compat/strlcpy.c 13 ../openbsd-compat/strsep.c 14) 15 16if(WIN32 AND NOT CYGWIN AND NOT MSYS) 17 list(APPEND COMPAT_SOURCES 18 ../openbsd-compat/bsd-getline.c 19 ../openbsd-compat/endian_win32.c 20 ../openbsd-compat/explicit_bzero_win32.c 21 ../openbsd-compat/getopt_long.c 22 ../openbsd-compat/readpassphrase_win32.c 23 ) 24 if (BUILD_SHARED_LIBS) 25 list(APPEND COMPAT_SOURCES ../openbsd-compat/posix_win.c) 26 endif() 27else() 28 list(APPEND COMPAT_SOURCES ../openbsd-compat/readpassphrase.c) 29endif() 30 31if(NOT MSVC) 32 set_source_files_properties(assert_get.c assert_verify.c base64.c bio.c 33 config.c cred_make.c cred_verify.c credman.c fido2-assert.c 34 fido2-cred.c fido2-token.c pin.c token.c util.c 35 PROPERTIES COMPILE_FLAGS "${EXTRA_CFLAGS}") 36endif() 37 38add_executable(fido2-cred 39 fido2-cred.c 40 cred_make.c 41 cred_verify.c 42 base64.c 43 util.c 44 ${COMPAT_SOURCES} 45) 46 47add_executable(fido2-assert 48 fido2-assert.c 49 assert_get.c 50 assert_verify.c 51 base64.c 52 util.c 53 ${COMPAT_SOURCES} 54) 55 56add_executable(fido2-token 57 fido2-token.c 58 base64.c 59 bio.c 60 config.c 61 credman.c 62 largeblob.c 63 pin.c 64 token.c 65 util.c 66 ${COMPAT_SOURCES} 67) 68 69target_link_libraries(fido2-cred ${CRYPTO_LIBRARIES} ${_FIDO2_LIBRARY}) 70target_link_libraries(fido2-assert ${CRYPTO_LIBRARIES} ${_FIDO2_LIBRARY}) 71target_link_libraries(fido2-token ${CRYPTO_LIBRARIES} ${_FIDO2_LIBRARY}) 72 73install(TARGETS fido2-cred fido2-assert fido2-token 74 DESTINATION ${CMAKE_INSTALL_BINDIR}) 75