CMake

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
CMake
Тип інструмент розробки
Автор Kitwared
Розробники Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf
Стабільний випуск 3.6.1 (22 липня 2016; 7 років тому (2016-07-22))
Платформа кросплатформова програма[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++ і використовує вкрай просту макромову. Водночас цієї мови виявляється достатньо для більшої частини завдань конфігурування. Окремі операції конфігурування реалізовані у вигляді модулів.

Також в CMake присутній варіант використання бібліотек з pkg-config[6].

Виноски[ред. | ред. код]

  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. Архів оригіналу за 22 січня 2014. Процитовано 25 грудня 2009.
  6. FindPkgConfig — CMake 3.28.1 Documentation. cmake.org. Процитовано 2 січня 2024.

Посилання[ред. | ред. код]