CMake Fuzztest is official



Я уломал, и мы будем поддерживать CMake в Google FuzzTest.



https://github.com/google/fuzztest/pull/177



Вообще, конечно, про CMake можно много чего говорить, но больше хочется рассказать про то, что в C++ проектах в Google поддерживается только Bazel, потому что он везде и на него не надо тратить силы. А на CMake нужно очень много сил.



Я пришёл и сам сделал нам CMakeLists, потому что мне случайные люди стали писать из-за форка, который я сделал и о котором писал в блоге.



Теперь можете просто добавить зависимость и писать что-то в духе



add_executable(first_fuzz_test first_fuzz_test.cc)

# Optional user provided target_link_libraries.

link_fuzztest(first_fuzz_test)



И всё. Сложнее конфигурации будут в случаях, когда вы сами используйте absl и re2, но тут уже сами разберётесь. Мини дока здесь.



Мне это понадобилось, потому что я очень сильно хотел в свои sparse_ngrams добавить FUZZ_TEST. Убил полвыходного и добавил CMake в FUZZ_TEST, заодно бонус в гугле отхвачу. sparse_ngrams не сильно продвинулись из-за этого..