Как правильно писать и запускать тесты и микробэнчмарки в отдельных файлах(Google test/Google benchmark) в с++?
Есть простенькое консольное приложение. В отдельных файлах тесты и бэнчмарк. Как из приложения запустить тесты и бэнчмарк находящиеся в других файлах? Хотя бы на простенький пример посмотреть. Если с тестами какие то идеи есть, то с бэнчмарком сложнее, для его запуска необходим: BENCHMARK_MAIN();
в итоге в дном проекте не может быть файла с бэнчмарком, т.к. он имеет свою main функцию. Есть очень большая мысль, что я использую его не правильно. По бенчмарку информации на удивление мало, в документации на странице гитхаба по бэнчмарку я нашел только один способ запуска бэнчмарка через его собственный main. Как правильно в итоге запускать бэнчмарк и тесты из своего приложения?
Обычно такие вещи выносятся в отдельные цели сборки. То есть у тебя будут следующие таргеты: основное приложение, тесты, бенчмарки. В проектах собираемых cmake, тесты регистрируются через add_test и IDE из подхватывает и позволяет запускать прям из своего интерфейса, а в CI они запускаются через ctest. То есть нужно правильно разделить приложение и собрать три (или больше) отдельных исполняемых файла.