CMake
Тип | інструмент розробки |
---|---|
Автор | Kitwared |
Розробники | Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf |
Стабільний випуск | 3.5 (11 березня 2016 ) |
Платформа | кросплатформова програма[1] |
Операційна система | крос-платформовий |
GNU фреймворк | Qt[2][3][4] |
Мова програмування | C++[5] |
Ліцензія | нова BSD License |
Репозиторій | gitlab.kitware.com/cmake/cmake |
Вебсайт | www.cmake.org |
CMake — крос-платформовий відкритий генератор сценаріїв складання. CMake не займається безпосередньо складанням, a лише генерує файли управління складанням з файлів CMakeLists.txt :
- Makefile в системах Unix для складання з допомогою make
- файли projects/workspaces (.dsp/.dsw) у Windows для збірки з допомогою Visual C++
- проекти XCode у Mac OS X
З переваг CMake можна відзначити: проста мова сценаріїв, засоби розширення функціональності через модулі, мінімальне число залежностей (немає прив'язки до M4, Perl або Python), підтримка кешування, наявність засобів для крос-компіляції, підтримка генерації файлів складання для широкого спектра систем складання і компіляторів, наявність утиліт ctest і cpack для визначення сценаріїв тестування і складання пакунків, утиліта cmake-gui для інтерактивного налаштування параметрів складання.
CMake виступає як альтернатива Autotools і використовується в таких проектах, як KDE, LLVM/Clang, MySQL, MariaDB, ReactOS і Blender. Сирцевий код CMake написаний мовою C++ і поширюється під ліцензією BSD.
Історія
Досить давно розроблена в співтоваристві GNU система Autotools на базі Perl і M4 є широко поширеною, але вимагає певних навичок для практичного використання. Існуючі версії в ряді випадків несумісні одна з одною. Autotools реалізована для Unix/Linux платформ.
21 грудня 2008 з'явилася система SCons (версії 1.2.0), що використовує мову Python. З одного боку, це робить систему розширюваною, але з іншого — ускладнює її вивчення і використання, одночасно знижуючи швидкодію. Наприклад, для вирішення стандартних завдань доводиться використовувати «хитрий» код.
CMake ж написаний мовою C++ і використовує вкрай просту макромову. Водночас цієї мови виявляється досить для більшої частини завдань конфігурування. Окремі операції конфігурування реалізовані у вигляді модулів.
Виноски
- ↑ https://cmake.org/
- ↑ https://cmake.org/cmake/help/latest/manual/cmake-gui.1.html
- ↑ https://cmake.org/runningcmake
- ↑ https://gitlab.kitware.com/cmake/cmake
- ↑ Ohloh Analysis Summary - CMake. Ohloh. Процитовано 25 грудня 2009.