Проект, над которым я сейчас работаю, имеет базовую библиотеку и ряд демонстрационных приложений, которые идут вместе с ней. В основном CMakeLists.txt я исключил демонстрации из всех и добавил их в качестве зависимостей одной фиктивной цели, чтобы они могли быть собраны сразу. Есть ли способ сделать то же самое для их соответствующих тестов (каждый добавляется с add_test
)? В идеале я мог бы сделать что-то вроде:
make # Just build the core runtime.
make test # Only run the tests for the core runtime. (currently tries to test everything)
make apps # Now make all the demos.
make test_apps # Now run the tests for the demos.
Нечто подобное тоже было бы замечательно, но я тоже не уверен, как это сделать:
make # just build core library
make test # Only run the core library tests
cd apps
make # Now build the demos
make test # Now run the tests for the demos.
Исключение каталогов для примеров из всех по-прежнему оставляет тесты для демонстраций, поэтому попытка запустить тесты базовой библиотеки сама по себе не удалась. Кроме того, add_test
не имеет эквивалента EXCLUDE_FROM_ALL
.
Кроме того, было бы замечательно, если бы был способ автоматически создавать тесты и запускать их, когда кто-то печатает make test
, но, насколько я могу судить, это все еще открытая проблема (https://gitlab.kitware.com/cmake/cmake/issues/8774, см. Также https://stackoverflow.com/a/736838/1935144). Хотя это действительно отдельная проблема, и я в порядке с их сборкой вместе с базовой библиотекой времени выполнения или сборкой отдельно перед запуском make test
.