Path: blob/main/contrib/libfido2/regress/CMakeLists.txt
39482 views
# Copyright (c) 2018-2022 Yubico AB. All rights reserved.1# Use of this source code is governed by a BSD-style2# license that can be found in the LICENSE file.3# SPDX-License-Identifier: BSD-2-Clause45add_custom_target(regress)67macro(add_regress_test NAME SOURCES LIB)8add_executable(${NAME} ${SOURCES})9add_test(${NAME} ${NAME})10add_dependencies(regress ${NAME})11target_link_libraries(${NAME} ${LIB})12endmacro()1314if(MSVC AND BUILD_SHARED_LIBS)15add_custom_command(TARGET regress POST_BUILD16COMMAND "${CMAKE_COMMAND}" -E copy17"${CBOR_BIN_DIRS}/${CBOR_LIBRARIES}.dll"18"${CRYPTO_BIN_DIRS}/${CRYPTO_LIBRARIES}.dll"19"${ZLIB_BIN_DIRS}/${ZLIB_LIBRARIES}.dll"20"$<TARGET_FILE:${_FIDO2_LIBRARY}>"21"${CMAKE_CURRENT_BINARY_DIR}")22endif()2324if(CYGWIN AND BUILD_SHARED_LIBS)25add_custom_command(TARGET regress POST_BUILD26COMMAND "${CMAKE_COMMAND}" -E copy27"$<TARGET_FILE:${_FIDO2_LIBRARY}>"28"${CMAKE_CURRENT_BINARY_DIR}")29endif()3031if(CMAKE_CROSSCOMPILING OR (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "AMD64" AND32CMAKE_GENERATOR_PLATFORM MATCHES "^ARM.*$"))33add_custom_command(TARGET regress POST_BUILD34COMMAND "${CMAKE_COMMAND}" -E echo35"Cross-compilation detected. Skipping regress tests.")36else()37add_custom_command(TARGET regress POST_BUILD38COMMAND "${CMAKE_CTEST_COMMAND}" --output-on-failure39WORKING_DIRECTORY ${PROJECT_BINARY_DIR})40endif()4142add_regress_test(regress_assert assert.c ${_FIDO2_LIBRARY})43add_regress_test(regress_cred cred.c ${_FIDO2_LIBRARY})44add_regress_test(regress_dev dev.c ${_FIDO2_LIBRARY})45add_regress_test(regress_eddsa eddsa.c ${_FIDO2_LIBRARY})46add_regress_test(regress_es256 es256.c ${_FIDO2_LIBRARY})47add_regress_test(regress_es384 es384.c ${_FIDO2_LIBRARY})48add_regress_test(regress_rs256 rs256.c ${_FIDO2_LIBRARY})49if(BUILD_STATIC_LIBS)50add_regress_test(regress_compress compress.c fido2)51endif()5253if(MINGW)54# needed for nanosleep() in mingw55target_link_libraries(regress_dev winpthread)56endif()575859