CMake

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

инструментальное программное обеспечение

Автор

Kitware, Inc.

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

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

Написана на

C, C++

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

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

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

3.0.2 (11 сентября 2014[1])

Лицензия

BSD

Сайт

cmake.org

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

  • Makefile в системах Unix для сборки с помощью make;
  • файлы projects/workspaces (.dsp/.dsw) в 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.

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

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

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

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