CMake
Добавлено: 16 авг 2016, 15:59
Мне тут один заказчик упёрся: переделай ему уже сделанный проект на сборку не make (Makefile), а с помощью CMake.
А я с CMake работал последний раз в 2009-м году...
Приходится вспоминать, а, заодно, зафиксировать источники информации о CMake, оказавшиеся полезными.
Введение в CMake
Разработка CMake, таким образом, инициирована теми, кто мечтал бы о переносе своего ПО куда-то из Linux далее...
Заполняя макросы файла скрипта сборки CMakeLists.txt отчётливо видно, что оно гораздо больше ориентировано на C++ нежели C.
Не удивительно, поэтому, что в Linux CMake протаскивают именно Qt и KDE.
А я с CMake работал последний раз в 2009-м году...
Приходится вспоминать, а, заодно, зафиксировать источники информации о CMake, оказавшиеся полезными.
Введение в CMake
CMakeCMake — кроcсплатформенная утилита для автоматической сборки программы из исходного кода. При этом сама CMake непосредственно сборкой не занимается, а представляет из себя front-end. В качестве back-end`a могут выступать различные версии make и Ninja.
Т.е. CMake - это приблуда для тех, кто не умеет или не может использовать make и Autotools в силу ... убогости своей операционной системы ... a'la WindowsДостаточно давно разработанная в сообществе GNU система Autotools на базе Perl и M4 является широко распространённой, но требует определённых навыков для практического использования. Существующие версии в ряде случаев несовместимы друг с другом. Autotools реализована для Unix/Linux платформ.
...
CMake же написан на языке C и использует крайне простой макроязык. В то же время этого языка оказывается достаточно для большей части задач конфигурирования. Отдельные операции конфигурирования реализованы в виде подключаемых модулей.
Многие известные свободные проекты (например, Blender, Wesnoth) только начали переход от Autotools к Scons и CMake, и ещё не приняли однозначного решения в пользу Scons или CMake.
Разработка CMake, таким образом, инициирована теми, кто мечтал бы о переносе своего ПО куда-то из Linux далее...
Заполняя макросы файла скрипта сборки CMakeLists.txt отчётливо видно, что оно гораздо больше ориентировано на C++ нежели C.
Не удивительно, поэтому, что в Linux CMake протаскивают именно Qt и KDE.