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