Самый простой пример использования Google С++ Testing Framework с CMake

У меня очень простая библиотека С++ (один заголовочный файл, один .cpp файл). Я хочу написать модульные тесты для этого проекта с помощью Google С++ Testing Framework.

Вот структура каталогов:

~/project1
 |
 |-- project1.cpp
 |-- project1.h
 |-- project1_unittests.cpp
 \-- CMakeLists.txt

Я не планирую писать свою собственную функцию main(). Я хочу связать с gtest_main, как указано в primer. Что должно содержать CMakeLists.txt?

Ответ 1

Включить встроенную тестовую подсистему CMake:

# For make-based builds, defines make target named test.
# For Visual Studio builds, defines Visual Studio project named RUN_TESTS.
enable_testing()

Скомпилируйте исполняемый файл, который будет запускать ваши модульные тесты и связывать его с gtest и gtest_main:

add_executable(runUnitTests
    project1_unittests.cpp
)
target_link_libraries(runUnitTests gtest gtest_main)

Добавьте тест, который запускает этот исполняемый файл:

add_test(
    NAME runUnitTests
    COMMAND runUnitTests
)