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