| cmake_minimum_required(VERSION 3.19) | |
| include(FetchContent) | |
| set(gtest_URL https://github.com/google/googletest.git) | |
| set(gtest_TAG release-1.12.1) | |
| set(absl_URL https://github.com/abseil/abseil-cpp.git) | |
| set(absl_TAG 20230125.0) | |
| set(re2_URL https://github.com/google/re2.git) | |
| set(re2_TAG 2023-03-01) | |
| set(proto_URL https://github.com/protocolbuffers/protobuf.git) | |
| set(proto_TAG v22.2) | |
| # From https://www.antlr.org/download.html | |
| set(antlr_cpp_URL https://www.antlr.org/download/antlr4-cpp-runtime-4.12.0-source.zip) | |
| set(antlr_cpp_MD5 acf7371bd7562188712751266d8a7b90) | |
| set(nlohmann_json_URL https://github.com/nlohmann/json.git) | |
| set(nlohmann_json_TAG v3.11.2) | |
| if (FUZZTEST_USE_GTEST OR FUZZTEST_TESTING) | |
| FetchContent_Declare( | |
| nlohmann_json | |
| GIT_REPOSITORY ${nlohmann_json_URL} | |
| GIT_TAG ${nlohmann_json_TAG} | |
| ) | |
| FetchContent_MakeAvailable(nlohmann_json) | |
| FetchContent_Declare( | |
| googletest | |
| GIT_REPOSITORY ${gtest_URL} | |
| GIT_TAG ${gtest_TAG} | |
| ) | |
| endif () | |
| FetchContent_Declare( | |
| abseil-cpp | |
| GIT_REPOSITORY ${absl_URL} | |
| GIT_TAG ${absl_TAG} | |
| ) | |
| FetchContent_Declare( | |
| antlr_cpp | |
| URL ${antlr_cpp_URL} | |
| URL_HASH MD5=${antlr_cpp_MD5} | |
| ) | |
| FetchContent_Declare( | |
| re2 | |
| GIT_REPOSITORY ${re2_URL} | |
| GIT_TAG ${re2_TAG} | |
| ) | |
| if (FUZZTEST_TESTING) | |
| FetchContent_Declare( | |
| protobuf | |
| GIT_REPOSITORY ${proto_URL} | |
| GIT_TAG ${proto_TAG} | |
| ) | |
| endif () | |
| FetchContent_MakeAvailable(antlr_cpp) | |
| set(ABSL_PROPAGATE_CXX_STD ON) | |
| FetchContent_MakeAvailable(abseil-cpp) | |
| set(RE2_BUILD_TESTING OFF CACHE BOOL "") | |
| FetchContent_MakeAvailable(re2) | |
| if (FUZZTEST_USE_GTEST OR FUZZTEST_TESTING) | |
| FetchContent_MakeAvailable(googletest) | |
| endif() | |
| if (FUZZTEST_TESTING) | |
| set(protobuf_BUILD_TESTS OFF) | |
| set(protobuf_INSTALL OFF) | |
| FetchContent_MakeAvailable(protobuf) | |
| endif () |