cmake-init - пропущенная инициализатор проекта Cmake Project cmake-init -это самоуверенный инициатор проекта Cmake, который генерирует проекты Cmake, которые являются готовыми к образованию, отдельные цели потребителей и разработчиков, предоставляют правила установки с надлежащими перемещаемыми пакетами Cmake и используют современный Cmake (3.14+).
Пожалуйста, смотрите Wiki, например, выходы Cmake-INIT и другие прагматические примеры функциональности, реализованные для CMAKE, такие как менеджеры пакетов, тестирование на нефтяное время, SuperBuilds и т. Д.






Если вы хотите связаться со мной за что -то связанное с Cmake, то вы можете найти меня в канале #cmake Slack C ++. Если то, что вы хотите знать, является конкретным Cmake-init, то вы также можете задать вопросы в обсуждениях этого репозитория.
h когда будет предложено. Статическая/общая библиотека? Просто выберите s , когда будет предложено. Просто и правильно!FetchContentУбедитесь, что у вас установлены эти программы:
ПРИМЕЧАНИЕ
Некоторые из этих инструментов можно использовать и в Windows, если вы хотите использовать Visual Studio, но вам нужно установить эти дополнения:
Этот пакет доступен для загрузки с PYPI. Вы можете установить этот пакет с помощью pip :
pip install cmake-init Clang-Tidy-это статический инструмент анализа, который помогает вам обнаружить логические ошибки в вашем коде до его составления. Этот сценарий дает вам возможность унаследовать предварительную установку clang-tidy в вашем предварительном настроении dev , что позволяет интеграции Cmake для этого инструмента.
CI всегда будет запускать Clang-Tidy для вас, так что совершенно необязательно устанавливать и использовать его локально, но рекомендуется.
Для пользователей Windows , если вы хотите использовать Clang-Tidy, вы должны установить Ninja и установить поле generator в своем dev Preset в Ninja . Причина этого заключается в том, что только Makefiles и Ninja поддерживаются Cmake для использования с Clang-Tidy. Для других генераторов эта функция является не-ооп.
CPPCHECK-это статический инструмент анализа, похожий на Clang-Tidy, однако совпадение в том, что они обнаруживают, минимально, поэтому полезно использовать их обоих. Этот сценарий дает вам возможность унаследовать предварительную установку cppcheck в вашей предустановке dev , что позволяет интеграции CMAKE для этого инструмента.
CI всегда будет запускать CPPCHECK для вас, поэтому его можно установить и использовать его локально, но рекомендуется.
Для пользователей Windows , если вы хотите использовать CPPCheck, вы должны установить Ninja и установить поле generator в своем dev Preset в Ninja . Причина этого заключается в том, что только Makefiles и Ninja поддерживаются CMAKE для использования с CPPCHECK. Для других генераторов эта функция является не-ооп.
Doxygen - это инструмент для создания документации из аннотированного исходного кода. В сочетании с ним M.CSS используется для представления сгенерированной документации.
Сгенерированные проекты будут иметь цель docs в режиме разработчика, который можно использовать для построения документации в каталог <binary-dir>/docs/html .
После установки Doxygen, пожалуйста, убедитесь, что исполняемый файл doxygen существует в PATH , в противном случае вы можете получить запутанные сообщения об ошибках.
Эта документация может быть развернута на страницах GitHub, используя задание docs в сгенерированном рабочем процессе CI. Следуйте комментариям, оставленным в работе, чтобы включить это.
Примечание : M.CSS не работает с доксигеном> = 1,9. Вы можете установить 1.8.20 для использования цели docs . Смотрите проблемы № 41 и № 48.
LCOV - это инструмент для обработки информации о покрытии, сгенерированной исполняемыми файлами, которые были предназначены для GCC gcov . Эта информация о покрытии может быть использована, чтобы увидеть, какие части программы были выполнены.
Сгенерированные проекты будут иметь цель coverage в режиме разработчика, если включена переменная ENABLE_COVERAGE . Причина, по которой используется отдельная цель вместо встроенного этапа coverage CTEST, заключается в том, что ей не хватает необходимой настройки. Эта цель должна быть заполнена после тестов, и по умолчанию она будет генерировать отчет по адресу <binary-dir>/coverage.info и отчет HTML в каталоге <binary-dir>/coverage_html .
Для пользователей Windows вы можете использовать аналогичный инструмент, называемый OpenCppCoverage, для которого есть пример сценария в сгенерированном каталоге cmake . Этот сценарий остается в качестве примера, потому что VM Linux запускается и работает быстрее в действиях GitHub, и поэтому он используется для представления покрытия.
Кланг-формат является частью набора инструментов LLVM, похожей на Clang-Tidy. Это кодовый Linter и Formatter Code, который можно использовать для обеспечения соблюдения руководств по стилю.
Две цели доступны для проверки и исправления кода в режиме разработчика, используя целевые показатели format-check и format-fix соответственно.
Примечание . Проект генерирует файлы, которые отформатированы в соответствии с Clang-Format 14. Новые или более старые версии могут отформатировать проект по-разному.
Codespell - это инструмент для поиска и исправления ошибок правописания в основном в исходном коде.
Две цели доступны для проверки и исправления ошибок правописания в режиме разработчика, используя spell-check и spell-fix соответственно.
Флаг -p можно использовать для выбора диспетчера пакетов для проекта. Аргументы для флага могут быть:
none : нет интеграции диспетчера пакетов (по умолчанию)conan : Интеграция Конанаvcpkg : интеграция VCPKGПри использовании диспетчера пакетов в сгенерированном проекте используются следующие пакеты:
Обязательно прочитайте сгенерированный хакерский документ, чтобы увидеть, что нужно сделать, чтобы получить зависимости.
cmake-init [--c] <path>-s , -e или -h после быстрого создания общей библиотеки, исполняемого или только библиотеки заголовка соответственно. Переключатель --c установит тип сгенерированного проекта на C вместо C ++.cmake-init --help cmake-init -это бесплатное программное обеспечение: вы можете использовать, учиться, делиться и улучшать его по завещанию. В частности, вы можете перераспределить и/или изменить его в соответствии с условиями общей публичной лицензии GNU, опубликованных Фондом Free Software, либо версией 3 лицензии, либо (по варианту) любой более поздней версии.
Содержимое каталога cmake-init/templates лицензируется с использованием некисленной лицензии. Смотрите лицензию в этом каталоге для получения более подробной информации.