# Copyright (c) 2018 Yubico AB. All rights reserved. # Use of this source code is governed by a BSD-style # license that can be found in the LICENSE file. list(APPEND COMPAT_SOURCES ../openbsd-compat/explicit_bzero.c ../openbsd-compat/freezero.c ../openbsd-compat/strlcat.c ../openbsd-compat/strlcpy.c ) if(WIN32 AND NOT CYGWIN AND NOT MSYS) list(APPEND COMPAT_SOURCES ../openbsd-compat/bsd-getline.c ../openbsd-compat/endian_win32.c ../openbsd-compat/explicit_bzero_win32.c ../openbsd-compat/getopt_long.c ../openbsd-compat/readpassphrase_win32.c ) if (BUILD_SHARED_LIBS) list(APPEND COMPAT_SOURCES ../openbsd-compat/posix_win.c) endif() else() list(APPEND COMPAT_SOURCES ../openbsd-compat/readpassphrase.c) endif() if(NOT MSVC) set_source_files_properties(assert_get.c assert_verify.c base64.c bio.c config.c cred_make.c cred_verify.c credman.c fido2-assert.c fido2-cred.c fido2-token.c pin.c token.c util.c PROPERTIES COMPILE_FLAGS "-Wconversion -Wsign-conversion") endif() add_executable(fido2-cred fido2-cred.c cred_make.c cred_verify.c base64.c util.c ${COMPAT_SOURCES} ) add_executable(fido2-assert fido2-assert.c assert_get.c assert_verify.c base64.c util.c ${COMPAT_SOURCES} ) add_executable(fido2-token fido2-token.c base64.c bio.c config.c credman.c largeblob.c pin.c token.c util.c ${COMPAT_SOURCES} ) # set the library to link against if(BUILD_SHARED_LIBS) set(_FIDO2_LIBRARY fido2_shared) else() set(_FIDO2_LIBRARY fido2) endif() target_link_libraries(fido2-cred ${CRYPTO_LIBRARIES} ${_FIDO2_LIBRARY}) target_link_libraries(fido2-assert ${CRYPTO_LIBRARIES} ${_FIDO2_LIBRARY}) target_link_libraries(fido2-token ${CRYPTO_LIBRARIES} ${_FIDO2_LIBRARY}) install(TARGETS fido2-cred fido2-assert fido2-token DESTINATION ${CMAKE_INSTALL_BINDIR})