xref: /openbsd-src/gnu/llvm/clang/cmake/modules/ProtobufMutator.cmake (revision 12c855180aad702bbcca06e0398d774beeafb155)
1include(ExternalProject)
2
3if (NOT PBM_PREFIX)
4  set (PBM_PREFIX protobuf_mutator)
5endif()
6
7set(PBM_PATH ${CMAKE_CURRENT_BINARY_DIR}/${PBM_PREFIX}/src/${PBM_PREFIX})
8set(PBM_LIB_PATH ${PBM_PATH}-build/src/libprotobuf-mutator.a)
9set(PBM_FUZZ_LIB_PATH ${PBM_PATH}-build/src/libfuzzer/libprotobuf-mutator-libfuzzer.a)
10
11ExternalProject_Add(${PBM_PREFIX}
12  PREFIX ${PBM_PREFIX}
13  GIT_REPOSITORY https://github.com/google/libprotobuf-mutator.git
14  GIT_TAG master
15  CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
16  CMAKE_CACHE_ARGS -DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
17                   -DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
18  BUILD_BYPRODUCTS ${PBM_LIB_PATH} ${PBM_FUZZ_LIB_PATH}
19  UPDATE_COMMAND ""
20  INSTALL_COMMAND ""
21  )
22
23set(ProtobufMutator_INCLUDE_DIRS ${PBM_PATH})
24set(ProtobufMutator_LIBRARIES ${PBM_FUZZ_LIB_PATH} ${PBM_LIB_PATH})
25