Какая лучшая бесплатная ссылка для CMake?

Я пытаюсь научиться использовать CMake, чтобы преобразовать относительно большой и несколько крутой набор Make файлов для проекта C-размера среднего размера. У нас довольно много сложных правил make (сгенерированный код, наборы тестов, которые должны "сбой", большие наборы параметров для valgrind, helgrind, drd и т.д.). Я знаю довольно немного автозапуска, но проект предпочел бы CMake, так что мы здесь.

Я узнал, что могу, из вики и некоторых блогов, но документация кажется довольно тонкой. Я что-то упускаю? Я вижу много ссылок на "Освоение CMake", но покупка книги, чтобы узнать, как использовать проект с открытым исходным кодом (который, кажется, в тяжелом развитии... Параллельный "тест" был реализован только недавно) оставляет неприятный вкус во рту,

Ответ 1

На мой взгляд, лучшая ссылка - это комбинация просмотра примеров онлайн (особенно в библиотеках kitware), а также использование встроенной справки (cmake --help) и подписки на список рассылки. Или, по крайней мере, так я научился использовать CMake. Я использовал его со всеми моими новыми проектами с середины 2008 года. У меня есть книга, и я использовал ее для начала, но, как вы боялись, она, конечно же, не охватывает все в особенностях CMake, особенно новых.

Ответ 2

Начиная с 2016 года, CMake является чрезвычайно сложной и мощной системой сборки, состоящей из 117 команд, 231 модуля и 404 переменных. Правильное использование требует как минимум передачи знаний о его многочисленных возможностях. Поэтому я предлагаю, чтобы попытка изучить CMake на основе знаний, полученных с помощью cmake --help или информации списка рассылки, как описано в других ответах, более нецелесообразна.

Однако я до сих пор не нашел полезной бесплатной документации в формате PDF. Онлайновая документация на cmake.org является бесплатной, актуальной и полной, но доступ к ней основан на браузере, и быстро находить информацию по ключевым словам неудобно; в основном это поиск паука. Тот же контент предлагается в виде файла .qch, но для его просмотра мне нужно установить полную платформу Qt (более 900 МБ под Windows).

Поэтому пока лучшая бесплатная ссылка, которую я нашел, - на devdocs.io. Я подозреваю, что справочная документация по CMake от DevDocs - это просто версия Qt материала cmake.org, представленная через веб-интерфейс, но она лучше "добавлена в закладки", чем онлайновая справка cmake.org, и если вы используете меню документации DevDoc Select в левом нижнем углу на вашем экране, чтобы удалить все, кроме CMake, вы можете использовать поле поиска DevDocs в левом верхнем углу экрана, чтобы быстро найти все ссылки на любое ключевое слово в любом заголовке раздела.

Хотя DevDocs основан на браузере, существует возможность загрузки всей документации CMake для автономного использования.

PS: я только что обнаружил CMake Tutorial - отрывок из Mastering CMake, который выглядит как очень полезное бесплатное введение.

Ответ 3

Я нашел [этот] ресурс для начала, который действительно является хорошим ресурсом для начала, если вы новичок.

Mastering CMake 6-е издание.

Ответ 4

Обновление 2018: вот два новых введения в современный CMake, то есть CMake с версией номер 3 или выше:

Ответ 5

Я использовал кулинарную книгу Cmake. Я нашел это отлично. Он хорошо продуман: он медленно накапливает знания, необходимые для использования cmake. В нем подробно рассматриваются способы использования cmake для создания и распространения вашего программного проекта и интеграции с другими инструментами упаковки.

Это также широко использует примеры. Каждая глава - это всего лишь обширное объяснение онлайн-примеров, которые были разработаны, чтобы постепенно продемонстрировать, как правильно использовать cmake.

В сочетании с документацией на cmake.org я обнаружил, что использовать cmake намного проще.

Также стоит отметить упоминание о профессиональном Cmake. Я не смотрел на это, но сравнение двух было бы полезно. Я подозреваю, что они оба являются отличными ресурсами для изучения "современного cmake"