CMake

Матеріал з Вікіпедії — вільної енциклопедії.
Версія від 19:21, 11 жовтня 2016, створена MobyVan (обговорення | внесок) (top: replaced: в якості → як за допомогою AWB)
Перейти до навігації Перейти до пошуку
CMake
Типінструмент розробки
АвторKitwared
РозробникиAndy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf
Стабільний випуск3.5 (11 березня 2016; 8 років тому (2016-03-11))
Платформакросплатформова програма[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++ і використовує вкрай просту макромову. Водночас цієї мови виявляється досить для більшої частини завдань конфігурування. Окремі операції конфігурування реалізовані у вигляді модулів.

Виноски

  1. https://cmake.org/
  2. https://cmake.org/cmake/help/latest/manual/cmake-gui.1.html
  3. https://cmake.org/runningcmake
  4. https://gitlab.kitware.com/cmake/cmake
  5. Ohloh Analysis Summary - CMake. Ohloh. Процитовано 25 грудня 2009.

Посилання