Вот что я хочу сделать:
- Ввод
make all
будет создавать мою библиотеку и документы для нее. - Ввод
make test
будет создавать мою lib (если необходимо), 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
-target, но не строить gtest каждый раз.
Я действительно раздражен, и мало что известно о том, как учиться CMake, поэтому, если кто-нибудь знает какие-либо углубленные учебные пособия (доступные свободно на interwebs), это было бы потрясающе.