CMake

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

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

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

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

В сравнении с другой альтернативой Autotools — появившейся в 2008 году системой SCons на Python — является более быстродействующей, поскольку написана на Си и использует крайне простой макроязык, но при этом SCons обладает большими возможностями по расширению. Многие известные свободные проекты (например, 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].

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

  1. The cmake Open Source Project on Open Hub: Languages Page — 2006.
  2. https://gitlab.kitware.com/cmake/cmake/blob/master/Copyright.txt
  3. The cmake Open Source Project on Open Hub: Licenses Page — 2006.
  4. CMake:Packaging With CPack - KitwarePublic. cmake.org. Дата обращения 15 сентября 2016.
  5. CMake:CPackPackageGenerators - KitwarePublic. cmake.org. Дата обращения 16 сентября 2016.

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