Я пытаюсь интегрировать Google Test в мой проект Qt. У меня есть базовые (EXPECT_EQ(1, 1))
тесты, работающие с Google Test, но я не совсем понимаю, как интегрировать свой проект Qt (использующий qmake
) в сборку CMake теста.
В настоящее время Google Test добавляется с использованием рекомендованного CMakeLists.txt
от их README . Я хотел бы добавить свой локальный src и build в тестовую сборку. Мой src расположен (относительно тестовой папки) ../src/
, и я встроил src в (относительно тестовой папки) build/project-build/
, но я считаю, что он не интегрируется, потому что в проекте есть .pro
. Ошибка при попытке интегрировать его в подкаталог:
CMake Error at CMakeLists.txt:31 (add_subdirectory):
The source directory
/home/project/src
does not contain a CMakeLists.txt file.
. Вот как я добавляю его в качестве подкаталога и проецирую в мой CMakeLists.txt
:
add_subdirectory(${CMAKE_CURRENT_BINARY_DIR}/../../src
${CMAKE_CURRENT_BINARY_DIR}/project-build
EXCLUDE_FROM_ALL)
Вотдельно CMakeLists.txt.in
(аналогично тому, как это делает тест Google):
include(ExternalProject)
ExternalProject_Add(project
GIT_REPOSITORY "${CMAKE_CURRENT_BINARY_DIR}/../.."
GIT_TAG master
SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/../../src"
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/project-build"
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
TEST_COMMAND ""
)
Также, пожалуйста, дайте мне знать, если это трудный способ протестировать проект. Я надеялся использовать Google Test, но если это не сработает, вероятно, будет использовать Qt Test. Я довольно новичок в C ++ и новичок в модульном тестировании C ++ (я знаком с Java и JUnit). Буду признателен за любую помощь, спасибо!