Если вы уже установили libgtest, просто добавьте в свой CMakeLists.txt следующее:
target_link_libraries($YOUR_TARGTET gtest)
Но! Я думаю, вы сделали это слишком сложным.
Лучше включить исходный код googletest непосредственно в ваш проект в качестве сторонней библиотеки.Я пойду сюда вот так и после.
Поскольку вы включили 'apt-get' в свой пример кода, я предполагаю, что вы работаете с Debian или потомками Debian.Ну, конечно, на самом деле не имеет значения, в какой ОС вы работаете.
Клонируйте исходный код googletest (проверьте предыдущую ссылку) в свой проект, добавив следующее в свой основной CMakeLists.txt:
add_subdirectory(googletest)
добавьте следующее в проекты sub-cmake, где вам потребуется gtest:
include_directories(${PARENT_PATH_OF_GTEST}/googltest/googltest/include)
# ...
target_link_libraries($YOUR_TARGET gtest)
например,
Допустим, у вас есть проект со следующей структурой:
.
├── assets
│ └── ...
├── bin
│ ├── CMakeLists.txt
│ └── ...
├── CMakeLists.txt <== Your main CmakeLists.txt
├── src
│ ├── CMakeLists.txt
│ └── ...
├── tests <== Test cases
│ ├── CMakeLists.txt
│ └── ...
└── third_party
├── CMakeLists.txt
├── googletest <=== gtest
└── ...
В вашем основном CMakeLists.txt у вас должно быть:
add_subdirectory(tests)
add_subdirectory(third_party)
# ...
В третьем_самом CMakeLists.txt:
add_subdirectory(googletest)
# ...
В тестах CMakeLists.txt:
include_directories(${CMAKE_SOURCE_DIR}/third_party/googltest/googltest/include)
# ...
add_executable(my_test...)
target_link_libraries(my_test gtest)
# ...
Лучший пример
Вот видео пример для Gtest в CLion от Jetbrains.Поскольку CLion фактически основан на CMake, он также ясно показывает вам, как интегрировать GTest в CMake.
Поддержка Google Test в CLion