CMake

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
CMake
Breezeicons-apps-48-cmake.svg
Cmake screenshot.png
Тип Автоматизация сборки
Автор
Разработчики Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf
Написана на C++ и Си
Интерфейс Qt и Ncurses
Операционная система кроссплатформенное программное обеспечение
Первый выпуск 2000
Последняя версия
Лицензия модифицированная лицензия BSD[d][2]
Сайт cmake.org (англ.)
Commons-logo.svg CMake на Викискладе

CMake (от англ. cross platform make) — это кроссплатформенная система автоматизации сборки программного обеспечения из исходного кода. CMake не занимается непосредственно сборкой, a лишь генерирует файлы управления сборкой из файлов CMakeLists.txt:

  • Makefile в системах Unix для сборки с помощью make;
  • файлы projects/solutions (.vcxproj/.vcproj/.sln) в Windows для сборки с помощью Visual C++;
  • проекты XCode в Mac OS X

Сравнение Autotools, Scons и CMake[править | править код]

Достаточно давно разработанная в сообществе GNU система Autotools на базе Perl и M4 является широко распространённой, но требует определённых навыков для практического использования. Существующие версии в ряде случаев несовместимы друг с другом. Autotools реализована для Unix/Linux платформ.

21 декабря 2008 года появилась система SCons (версии 1.2.0), использующая язык Python. С одной стороны, это делает систему расширяемой, но с другой — усложняет её изучение и использование, одновременно снижая быстродействие. Например, для решения стандартных задач приходится использовать «хитрый» код.

CMake же написан на языке C и использует крайне простой макроязык. В то же время этого языка оказывается достаточно для большей части задач конфигурирования. Отдельные операции конфигурирования реализованы в виде подключаемых модулей.

Многие известные свободные проекты (например, Blender, Wesnoth) только начали переход от Autotools к Scons и CMake, и ещё не приняли однозначного решения в пользу Scons или CMake.

CPack[править | править код]

Начиная с версии 2.4.2[3], в состав CMake включены система автоматизированной сборки пакетов программного обеспечения CPack и модуль CMake для взаимодействия с ней. Система позволяет создавать пакеты программного обеспечения для популярных пакетных менеджеров (DEB, RPM, DMG), средства установки программного обеспечения (NSIS для Microsoft Windows), а также архивы со сборкой (TGZ, TBZ2, ZIP, самораспаковывающийся TGZ)[4].

Программное обеспечение, использующее CMake[править | править код]

Примечания[править | править код]

  1. Maynard R. CMake 3.11.0 available for download — 2018.
  2. https://gitlab.kitware.com/cmake/cmake/blob/master/Copyright.txt
  3. CMake:Packaging With CPack - KitwarePublic. cmake.org. Проверено 15 сентября 2016.
  4. CMake:CPackPackageGenerators - KitwarePublic. cmake.org. Проверено 16 сентября 2016.

См. также[править | править код]

Ссылки[править | править код]