Вот что я хочу сделать:
- При наборе
make all
будет построена моя библиотека и документы для нее. - При наборе
make test
будет создана моя библиотека (еслинеобходимо), gtest, а затем мои тесты - При наборе
make check
запускается make test
при необходимости, а затем запускается исполняемый файл
Прямо сейчас мне удалось получить только первыйРабота.У меня проблема с условным включением gtest.
Gtest использует CMake, что неплохо, теоретически все, что мне нужно сделать, это включить каталог gtest с add_subdirectory
, но тогда gtest всегда будет собран.
Моя структура сейчас такова:
CMakeLists.txt (Here I add targets for doc and the library)
doc (my doxygen docs)
include (my headers)
lib (where my compiled libraries go)
src (where my .cpp files go)
test
CMakeLists.txt (Here I add targets for gest and my tests)
bin (where the test executable will go)
contrib (where gtest is)
src (my tests)
Я пытаюсь выяснить, как добавить gtest в качестве зависимости к цели test
, но не собираю gtest каждый раз.
Я действительно раздражен, и почти нет никакой информации об изучении CMake, так что если кто-нибудь знает какие-либо подробные учебные пособия (свободно доступные на веб-сайтах), это было бы здорово.