1# Copyright 2017 Google Inc. All rights reserved. 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15add_library(protobuf-mutator-libfuzzer 16 libfuzzer_mutator.cc 17 libfuzzer_macro.cc) 18target_link_libraries(protobuf-mutator-libfuzzer 19 protobuf-mutator 20 ${PROTOBUF_LIBRARIES}) 21set_target_properties(protobuf-mutator-libfuzzer PROPERTIES 22 COMPILE_FLAGS "${NO_FUZZING_FLAGS}" 23 SOVERSION 0) 24 25install(TARGETS protobuf-mutator-libfuzzer 26 ARCHIVE DESTINATION ${LIB_DIR} 27 LIBRARY DESTINATION ${LIB_DIR}) 28 29if (LIB_PROTO_MUTATOR_TESTING) 30 add_executable(libfuzzer_test 31 libfuzzer_test.cc) 32 target_link_libraries(libfuzzer_test 33 protobuf-mutator 34 protobuf-mutator-libfuzzer 35 mutator-test-proto 36 ${GTEST_BOTH_LIBRARIES} 37 ${CMAKE_THREAD_LIBS_INIT}) 38 add_test(test.protobuf_libfuzzer_test libfuzzer_test --gtest_color=yes AUTO) 39 add_dependencies(check libfuzzer_test) 40endif() 41