Инженерия · Сборка и архитектура

CMake

Сборка проекта одной командой на любой системе

~35 мин 9 шагов

После урока ты сможешь

  • Написать CMakeLists.txt для проекта с библиотекой и исполняемым файлом
  • Открыть CMake-проект в Visual Studio, собрать и отладить его
  • Подключить тесты через CTest

Шаг 1 из 9

Зачем ещё один инструмент

Пока проект собирается галочками в свойствах Visual Studio, всё хорошо, но только у тебя. Эти настройки лежат в файле .vcxproj, и понимает его только Visual Studio. Коллега с CLion, сервер на Linux, где будет работать бот, или GitHub, где проект проверяется при каждом изменении, такой проект не соберут.

CMake решает это. Ты один раз описываешь проект в текстовом файле CMakeLists.txt: из каких файлов он состоит, какой нужен стандарт, какие подключить библиотеки. Дальше CMake сам генерирует проект для любой среды и любого компилятора: Visual Studio, CLion, VS Code или просто терминала на сервере.

Это стандарт индустрии. Почти каждая библиотека на GitHub собирается через CMake, и почти каждая инструкция «как подключить» написана для него. Без CMake дальше нельзя, но бояться его не нужно: для своих проектов хватит десятка команд.