Чему вы научитесь
- Понимать, как работает find_package() в режимах Config и Module, и писать собственные Find-модули
- Экспортировать и публиковать библиотеки как самостоятельные CMake-пакеты
- Управлять внешними зависимостями через FetchContent с фиксированными версиями и воспроизводимыми сборками
- Генерировать код и конфигурационные файлы во время сборки
- Автоматически получать версию проекта из git-тегов
- Настраивать статический анализ через clang-tidy и cppcheck прямо из CMake
- Измерять покрытие кода через gcov и llvm-cov
- Подключать санитайзеры Address, Thread и UndefinedBehavior
- Строить CI-пайплайны для CMake-проектов на GitHub Actions и GitLab CI
О курсе
Этот курс - прямое продолжение базового курса по CMake. Если в базовом курсе вы научились собирать проекты, подключать библиотеки и писать тесты, то здесь вы выйдете на уровень, который используется в реальной коммерческой разработке.
Для кого этот курс
Курс рассчитан на C++ разработчиков, которые уже умеют работать с CMake на базовом уровне и хотят перейти к профессиональной организации проектов. Он будет полезен тем, кто поддерживает библиотеки, которые используют другие команды, настраивает сборочную инфраструктуру в компании, или хочет разобраться почему чужой CMakeLists.txt устроен именно так.
Начальные требования
- Пройден базовый курс по CMake или имеются эквивалентные знания: проекты, переменные, библиотеки, тесты, поддиректории
- Уверенное владение C++: классы, шаблоны, стандартная библиотека
- Linux или macOS как основная среда разработки — большинство примеров рассчитаны на GCC или Clang
- Установленные инструменты: CMake 3.20+, Git, компилятор C++17
Преподаватели курса
Как проходит обучение
Теория без воды разбитая на тематические блоки и теоритические вопросы. В конце каждого блока Вас будет ждать мини-проект, который необходимо реализовать с полного нуля.
Что вы получите
- Востребованные навыки
- Проект в портфолио
- Сертификат
- Поддержку преподавателя