Path: blob/main/contrib/libfido2/fuzz/CMakeLists.txt
39586 views
# Copyright (c) 2019-2023 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-Clause45list(APPEND COMPAT_SOURCES6../openbsd-compat/strlcpy.c7../openbsd-compat/strlcat.c8)910list(APPEND COMMON_SOURCES11libfuzzer.c12mutator_aux.c13)1415# XXX: OSS-Fuzz require linking using CXX16set(FUZZ_LINKER_LANGUAGE "C" CACHE STRING "Linker language for fuzz harnesses")17mark_as_advanced(FUZZ_LINKER_LANGUAGE)18enable_language(${FUZZ_LINKER_LANGUAGE})1920# fuzz_cred21add_executable(fuzz_cred fuzz_cred.c ${COMMON_SOURCES} ${COMPAT_SOURCES})22set_target_properties(fuzz_cred PROPERTIES23LINK_FLAGS ${FUZZ_LDFLAGS}24LINKER_LANGUAGE ${FUZZ_LINKER_LANGUAGE})25target_link_libraries(fuzz_cred fido2_shared)2627# fuzz_assert28add_executable(fuzz_assert fuzz_assert.c ${COMMON_SOURCES} ${COMPAT_SOURCES})29set_target_properties(fuzz_assert PROPERTIES30LINK_FLAGS ${FUZZ_LDFLAGS}31LINKER_LANGUAGE ${FUZZ_LINKER_LANGUAGE})32target_link_libraries(fuzz_assert fido2_shared)3334# fuzz_mgmt35add_executable(fuzz_mgmt fuzz_mgmt.c ${COMMON_SOURCES} ${COMPAT_SOURCES})36set_target_properties(fuzz_mgmt PROPERTIES37LINK_FLAGS ${FUZZ_LDFLAGS}38LINKER_LANGUAGE ${FUZZ_LINKER_LANGUAGE})39target_link_libraries(fuzz_mgmt fido2_shared)4041# fuzz_credman42add_executable(fuzz_credman fuzz_credman.c ${COMMON_SOURCES} ${COMPAT_SOURCES})43set_target_properties(fuzz_credman PROPERTIES44LINK_FLAGS ${FUZZ_LDFLAGS}45LINKER_LANGUAGE ${FUZZ_LINKER_LANGUAGE})46target_link_libraries(fuzz_credman fido2_shared)4748# fuzz_bio49add_executable(fuzz_bio fuzz_bio.c ${COMMON_SOURCES} ${COMPAT_SOURCES})50set_target_properties(fuzz_bio PROPERTIES51LINK_FLAGS ${FUZZ_LDFLAGS}52LINKER_LANGUAGE ${FUZZ_LINKER_LANGUAGE})53target_link_libraries(fuzz_bio fido2_shared)5455# fuzz_hid56add_executable(fuzz_hid fuzz_hid.c ${COMMON_SOURCES} ${COMPAT_SOURCES})57set_target_properties(fuzz_hid PROPERTIES58LINK_FLAGS ${FUZZ_LDFLAGS}59LINKER_LANGUAGE ${FUZZ_LINKER_LANGUAGE})60target_link_libraries(fuzz_hid fido2_shared)6162# fuzz_netlink63add_executable(fuzz_netlink fuzz_netlink.c ${COMMON_SOURCES} ${COMPAT_SOURCES})64set_target_properties(fuzz_netlink PROPERTIES65LINK_FLAGS ${FUZZ_LDFLAGS}66LINKER_LANGUAGE ${FUZZ_LINKER_LANGUAGE})67target_link_libraries(fuzz_netlink fido2_shared)6869# fuzz_largeblob70add_executable(fuzz_largeblob fuzz_largeblob.c ${COMMON_SOURCES} ${COMPAT_SOURCES})71set_target_properties(fuzz_largeblob PROPERTIES72LINK_FLAGS ${FUZZ_LDFLAGS}73LINKER_LANGUAGE ${FUZZ_LINKER_LANGUAGE})74target_link_libraries(fuzz_largeblob fido2_shared)7576# fuzz_pcsc77add_executable(fuzz_pcsc fuzz_pcsc.c ${COMMON_SOURCES} ${COMPAT_SOURCES})78set_target_properties(fuzz_pcsc PROPERTIES79LINK_FLAGS ${FUZZ_LDFLAGS}80LINKER_LANGUAGE ${FUZZ_LINKER_LANGUAGE})81target_link_libraries(fuzz_pcsc fido2_shared)828384