Содержание пакета (2 курса)
1. CMake — Базовый уровень 5.00
Базовые темы
14 уроков
1.
Введение
↗
2.
Установка
↗
3.
Проекты
↗
4.
Создание простых целей
↗
5.
Переменные - часть 1
↗
6.
Переменные - часть 2
↗
7.
Управляющие конструкции
↗
8.
Использование поддиректорий
↗
9.
Функции и макросы
↗
10.
Свойства
↗
11.
Генераторы выражений
↗
12.
Модули
↗
13.
Политики
↗
14.
Проект "Калькулятор"
↗
Углубленная сборка
10 уроков
1.
Типы сборок
↗
2.
Компиляторы и компоновщики
↗
3.
Требования к языку
↗
4.
Типы целей
↗
5.
Пользовательские цели
↗
6.
Работа с файлами
↗
7.
Детали версий
↗
8.
Бибилиотеки
↗
9.
Цепочки инструментов
↗
10.
Проект "Калькулятор v2"
↗
Общие темы
7 уроков
1.
Тестирование
↗
2.
CDash
↗
3.
Установка
↗
4.
Пакеты
↗
5.
Внешние зависимости
↗
6.
Организация проекта
↗
7.
Проект "Калькулятор v3"
↗
Итоговый экзамен
2 урока
1.
Вопросы
↗
2.
Текстовый анализатор
↗
Обратная связь
1 урок
1.
.
↗
2. CMake — Углубленный уровень
Продвинутая работа с целями
5 уроков
1.
Генераторы выражений
↗
2.
Свойства целей
↗
3.
Псевдоцели и алиасы
↗
4.
Интерфейсные библиотеки
↗
5.
Мини-проект "Многоуровневая библиотека"
↗
Зависимости и пакеты
6 уроков
1.
Как работает find_package изнутри
↗
2.
Написание собственного FindXXX.cmake
↗
3.
Тонкости FetchContent
↗
4.
Экспорт целей и написание Config-файла пакета
↗
5.
Версионирование зависимостей и воспроизводимые сборки
↗
6.
Мини-проект "Публикуемая библиотека"
↗
Конфигурация и генерация
5 уроков
1.
configure_file - продвинутые сценарии
↗
2.
Автогенерация версий через git
↗
3.
Кодогенерация через custom_command и custom_target
↗
4.
Сборка под несколько платформ
↗
5.
Мини-проект "Утилита с встроенными ресурсами"
↗
Тестирование и качество кода
6 уроков
1.
CTest — метки, приоритеты, таймауты
↗
2.
Покрытие кода
↗
3.
Статический анализ
↗
4.
Санитайзеры
↗
5.
Интеграция с CI
↗
6.
Мини-проект "Анализатор кода"
↗
Итоги
1 урок
1.
Проект "Текстовый процессор"
↗