CMake

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
CMake
CMake-logo-triangle-high-res.png
Тип

Автоматизация сборки

Автор

Kitware Inc.[d]

Разработчики

Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf

Написана на

C++ и Си

Интерфейс

Qt

Операционная система

кроссплатформенное программное обеспечение

Последняя версия

3.6.1 (22 июля 2016)[1][2]

Лицензия

модифицированная лицензия BSD[d][3]

Сайт

cmake.org

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[4], в состав CMake включены система автоматизированной сборки пакетов программного обеспечения CPack и модуль CMake для взаимодействия с ней. Система позволяет создавать пакеты программного обеспечения для популярных пакетных менеджеров (DEB, RPM, DMG), средства установки программного обеспечения (NSIS для Microsoft Windows), а также архивы со сборкой (TGZ, TBZ2, ZIP, самораспаковывающийся TGZ)[5].

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

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

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

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

Ссылки[править | править вики-текст]