Я работаю над проектом, созданным с помощью CMake, который использует тест Google для тестирования. Файл CMakeLists.txt моих тестов выглядит следующим образом:отделив тестовые чехлы googletest с cmake
add_executable(run_tests
testcase_a.cpp
dependency_a.cpp
testcase_b.cpp
dependency_b.cpp
)
target_link_libraries(run_tests gtest gtest_main)
С ростом числа тестовых случаев это становится довольно грязным. Я хотел бы скомпилировать каждый из тестовых модулей отдельно, а затем запустить их с помощью одного бинарного файла. Можно ли это сделать с помощью CMake и gtest_main? Или есть лучший способ сделать это, что мне не хватает?
Это выглядит как решение мне нужно. Однако я не могу заставить исполняемый файл run_tests правильно связываться - библиотеки жалуются на отсутствие ссылок на функции gtest. – Teyras
@Teyras Если вы можете опубликовать [MVCE] (http://stackoverflow.com/help/mcve) для отказа в связи, возможно, я смогу понять, что случилось. Пока можно только сказать, что это работает для меня. Убедитесь, что вы создали свой libgtest и libgtest_main с тем же самым компилятором, который теперь создает ваши 'run_tests'. –
Ну, похоже, работает минимальная настройка. Я поправлю ваш ответ как правильный и постараюсь самостоятельно разобраться с моими проблемами. – Teyras