Spec-Zone.ru › CMake 3.6

cmake(1)

Синопсис

cmake [<options>] (<path-to-source> | <path-to-existing-build>)
cmake [(-D <var>=<value>)...] -P <cmake-script-file>
cmake --build <dir> [<options>...] [-- <build-tool-options>...]
cmake -E <command> [<options>...]
cmake --find-package <options>...

Описание

Исполняемый файл «cmake» — это командная строка CMake. Он может использоваться для конфигурирования проектов в скриптах. Параметры конфигурации проекта могут быть заданы в командной строке с помощью опции -D.

CMake — это кроссплатформенная система генерации систем сборки. Проекты определяют свой процесс сборки с помощью независимых от платформы файлов CMakeLists.txt, включённых в каждый каталог дерева исходных файлов. Пользователи собирают проект, используя CMake для генерации системы сборки для родного инструмента на своей платформе.

Опции

-C <initial-cache>

Предварительно загрузить скрипт для заполнения кэша.

При первом запуске cmake в пустом дереве сборки он создаёт файл CMakeCache.txt и заполняет его настраиваемыми параметрами для проекта. Эта опция может использоваться для указания файла, из которого необходимо загрузить записи кэша перед первым проходом по файлам cmake проекта. Загруженные записи имеют приоритет над значениями по умолчанию проекта. Указанный файл должен быть скриптом CMake, содержащим команды SET с опцией CACHE, а не файлом формата кэша.

-D <var>:<type>=<value>, -D <var>=<value>

Создать запись кэша cmake.

При первом запуске cmake в пустом дереве сборки он создаёт файл CMakeCache.txt и заполняет его настраиваемыми параметрами для проекта. Эта опция может использоваться для указания параметра, имеющего приоритет над значением по умолчанию проекта. Опцию можно повторять для любого количества записей кэша.

Если указана часть :<type>, она должна быть одним из типов, указанных в документации команды set() для её подписи CACHE. Если часть :<type> опущена, запись будет создана без типа, если она не существует с уже заданным типом. Если команда в проекте задаёт тип PATH или FILEPATH, то <value> будет преобразовано в абсолютный путь.

Эту опцию также можно указать как один аргумент: -D<var>:<type>=<value> или -D<var>=<value>.

-U <globbing_expr>

Удалить соответствующие записи из кэша CMake.

Эта опция может использоваться для удаления одной или нескольких переменных из файла CMakeCache.txt, поддерживаются выражения с подстановкой * и ?. Опцию можно повторять для любого количества записей кэша.

Используйте с осторожностью, вы можете сделать свой CMakeCache.txt неработоспособным.

-G <generator-name>

Указать генератор системы сборки.

CMake может поддерживать несколько родных систем сборки на определённых платформах. Генератор отвечает за генерацию конкретной системы сборки. Возможные имена генераторов указаны в справочнике cmake-generators(7).

-T <toolset-name>

Указать имя набора инструментов, если это поддерживается генератором.

Некоторые генераторы CMake поддерживают имя набора инструментов, которое необходимо предоставить родной системе сборки для выбора компилятора. Это поддерживается только определёнными генераторами:

Visual Studio >= 10
Xcode >= 3.0

См. документацию родной системы сборки для допустимых имён наборов инструментов.

-A <platform-name>

Указать имя платформы, если это поддерживается генератором.

Некоторые генераторы CMake поддерживают имя платформы, которое необходимо предоставить родной системе сборки для выбора компилятора или SDK. Это поддерживается только определёнными генераторами:

Visual Studio >= 8

См. документацию родной системы сборки для допустимых имён платформ.

-Wno-dev

Подавить предупреждения разработчиков.

Подавить предупреждения, предназначенные для автора файлов CMakeLists.txt. По умолчанию это также отключит предупреждения об устаревании.

-Wdev

Включить предупреждения разработчиков.

Включить предупреждения, предназначенные для автора файлов CMakeLists.txt. По умолчанию это также включит предупреждения об устаревании.

-Werror=dev

Сделать предупреждения разработчиков ошибками.

Сделать предупреждения, предназначенные для автора файлов CMakeLists.txt, ошибками. По умолчанию это также включит предупреждения об устаревании как ошибки.

-Wno-error=dev

Сделать предупреждения разработчиков не ошибками.

Сделать предупреждения, предназначенные для автора файлов CMakeLists.txt, не ошибками. По умолчанию это также отключит предупреждения об устаревании как ошибки.

-Wdeprecated

Включить предупреждения об устаревшей функциональности.

Включить предупреждения об использовании устаревшей функциональности, предназначенные для автора файлов CMakeLists.txt.

-Wno-deprecated

Подавить предупреждения об устаревшей функциональности.

Подавить предупреждения об использовании устаревшей функциональности, предназначенные для автора файлов CMakeLists.txt.

-Werror=deprecated

Сделать предупреждения об устаревших макросах и функциях ошибками.

Сделать предупреждения об использовании устаревших макросов и функций, предназначенные для автора файлов CMakeLists.txt, ошибками.

-Wno-error=deprecated

Сделать предупреждения об устаревших макросах и функциях не ошибками.

Сделать предупреждения об использовании устаревших макросов и функций, предназначенные для автора файлов CMakeLists.txt, не ошибками.

-E <command> [<options>...]
См. Режим инструмента командной строки.
-L[A][H]

Список нерасширенных переменных кэша.

Список переменных кэша запустит CMake и выведет все переменные из кэша CMake, которые не помечены как INTERNAL или ADVANCED. Это позволит эффективно отобразить текущие настройки CMake, которые затем можно изменить с помощью опции -D. Изменение некоторых переменных может привести к созданию большего количества переменных. Если указан A, он также отобразит расширенные переменные. Если указан H, он также отобразит справку по каждой переменной.

--build <dir>
См. Режим инструмента сборки.
-N

Только режим просмотра.

Только загрузить кэш. Не выполнять на самом деле шаги конфигурации и генерации.

-P <file>

Режим обработки скрипта.

Обработать заданный файл cmake как скрипт, написанный на языке CMake. Шаги конфигурации и генерации не выполняются, и кэш не изменяется. Если переменные определяются с помощью -D, это необходимо сделать перед аргументом -P.

--find-package
См. Режим поиска пакета инструмента.
--graphviz=[file]

Сгенерировать graphviz зависимостей, см. CMakeGraphVizOptions.cmake для получения дополнительной информации.

Сгенерировать файл graphviz, который будет содержать все зависимости библиотек и исполняемых файлов в проекте. Для получения дополнительной информации см. документацию по CMakeGraphVizOptions.cmake.

--system-information [file]

Вывести информацию об этой системе.

Вывести обширный набор информации об текущей системе. Если запуск осуществляется из верхней части двоичного дерева проекта CMake, он выведет дополнительную информацию, такую как кэш, файлы журналов и т.д.

--debug-trycompile

Не удалять дерево сборки try_compile. Полезно только при одном try_compile за раз.

Не удалять файлы и каталоги, созданные для try_compile вызовов. Это полезно при отладке неудачных try_compiles. Однако это может изменить результаты try-compiles, так как старые данные из предыдущего try-compile могут привести к тому, что другой тест либо пройдёт, либо не пройдёт неправильно. Лучше всего использовать эту опцию для одного try-compile за раз и только при отладке.

--debug-output

Перевести cmake в режим отладки.

Вывести дополнительную информацию во время работы cmake, например, трассировки стека с вызовами message(send_error).

--trace

Перевести cmake в режим трассировки.

Вывести трассировку всех вызовов и от откуда.

--trace-expand

Перевести cmake в режим трассировки.

Как --trace, но с расширенными переменными.

--warn-uninitialized

Предупредить об неопределённых значениях.

Выдать предупреждение, когда используется неопределённая переменная.

--warn-unused-vars

Предупредить об неиспользуемых переменных.

Найти переменные, которые объявлены или установлены, но не используются.

--no-warn-unused-cli

Не выдавать предупреждений об опциях командной строки.

Не находить переменные, которые объявлены в командной строке, но не используются.

--check-system-vars

Найти проблемы с использованием переменных в системных файлах.

Обычно неиспользуемые и неинициализированные переменные ищутся только в CMAKE_SOURCE_DIR и CMAKE_BINARY_DIR. Этот флаг сообщает CMake о том, чтобы предупреждать об других файлах также.

--help,-help,-usage,-h,-H,/?

Вывести информацию об использовании и завершить работу.

Информация об использовании описывает базовый интерфейс командной строки и его параметры.

--version,-version,/V [<f>]

Показать баннер с именем/версией программы и завершить работу.

Если указан файл, версия записывается в него. Справка выводится в указанный файл <f>айл, если он задан.

--help-full [<f>]

Вывести все руководства справки и завершить работу.

Все руководства выводятся в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан.

--help-manual <man> [<f>]

Вывести одно руководство справки и завершить работу.

Указанное руководство выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан.

--help-manual-list [<f>]

Вывести список доступных руководств справки и завершить работу.

Список содержит все руководства, справка по которым может быть получена с помощью параметра --help-manual в сочетании с именем руководства. Справка выводится в указанный файл <f>айл, если он задан.

--help-command <cmd> [<f>]

Вывести справку по одной команде и завершить работу.

Элемент справки cmake-commands(7) для <cmd> выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан.

--help-command-list [<f>]

Вывести список команд со справкой и завершить работу.

Список содержит все команды, справка по которым может быть получена с помощью параметра --help-command в сочетании с именем команды. Справка выводится в указанный файл <f>айл, если он задан.

--help-commands [<f>]

Вывести руководство справки cmake-commands и завершить работу.

Руководство cmake-commands(7) выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан.

--help-module <mod> [<f>]

Вывести справку по одному модулю и завершить работу.

Элемент справки cmake-modules(7) для <mod> выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан.

--help-module-list [<f>]

Вывести список модулей со справкой и завершить работу.

Список содержит все модули, справка по которым может быть получена с помощью параметра --help-module в сочетании с именем модуля. Справка выводится в указанный файл <f>айл, если он задан.

--help-modules [<f>]

Вывести руководство справки cmake-modules и завершить работу.

Руководство cmake-modules(7) выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан.

--help-policy <cmp> [<f>]

Вывести справку по одной политике и завершить работу.

Элемент справки cmake-policies(7) для <cmp> выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан.

--help-policy-list [<f>]

Вывести список политик со справкой и завершить работу.

Список содержит все политики, справка по которым может быть получена с помощью параметра --help-policy в сочетании с именем политики. Справка выводится в указанный файл <f>айл, если он задан.

--help-policies [<f>]

Вывести руководство справки cmake-policies и завершить работу.

Руководство cmake-policies(7) выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан.

--help-property <prop> [<f>]

Вывести справку по одному свойству и завершить работу.

Элементы справки cmake-properties(7) для <prop> выводятся в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан.

--help-property-list [<f>]

Вывести список свойств со справкой и завершить работу.

Список содержит все свойства, справка по которым может быть получена с помощью параметра --help-property в сочетании с именем свойства. Справка выводится в указанный файл <f>айл, если он задан.

--help-properties [<f>]

Вывести руководство справки cmake-properties и завершить работу.

Руководство cmake-properties(7) выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан.

--help-variable <var> [<f>]

Вывести справку по одной переменной и завершить работу.

Элемент справки cmake-variables(7) для <var> выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан.

--help-variable-list [<f>]

Вывести список переменных со справкой и завершить работу.

Список содержит все переменные, справка по которым может быть получена с помощью параметра --help-variable в сочетании с именем переменной. Справка выводится в указанный файл <f>айл, если он задан.

--help-variables [<f>]

Вывести руководство справки cmake-variables и завершить работу.

Руководство cmake-variables(7) выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f>айл, если он задан.

Режим построения инструмента

CMake предоставляет командную строку для построения уже сгенерированной двоичной дерева проекта:

cmake --build <dir> [<options>...] [-- <build-tool-options>...]

Это абстрагирует интерфейс командной строки инструмента сборки следующим образом:

--build <dir>
Директория двоичного файла проекта для построения. Это обязательно и должно быть первым.
--target <tgt>
Построить <tgt> вместо целевых значений по умолчанию. Может быть указано только один раз.
--config <cfg>
Для инструментов с несколькими конфигурациями выбрать конфигурацию <cfg>.
--clean-first
Сначала построить целевой объект clean, а затем построить. (Чтобы очистить, используйте --target clean.)
--use-stderr
Игнорируется. Поведение по умолчанию в CMake >= 3.0.
--
Передать оставшиеся параметры в инструмент.

Запустите cmake --build без параметров для быстрого вывода справки.

Режим командной строки

CMake предоставляет встроенные инструменты командной строки через подпись:

cmake -E <command> [<options>...]

Запустите cmake -E или cmake -E help для вывода сводки команд. Доступные команды:

chdir <dir> <cmd> [<arg>...]
Изменить текущую рабочую директорию и запустить команду.
compare_files <file1> <file2>
Проверить, является ли <file1> таким же, как <file2>. Если файлы идентичны, возвращает 0, в противном случае 1.
copy <file>... <destination>
Копировать файлы в <destination> (либо файл, либо директория). Если указано несколько файлов, то <destination> должно быть директорией и оно должно существовать.
copy_directory <dir>... <destination>
Копировать директории в директорию <destination>. Если директория <destination> не существует, она будет создана.
copy_if_different <file>... <destination>
Копировать файлы в <destination> (либо файл, либо директория), если они изменились. Если указано несколько файлов, то <destination> должно быть директорией и оно должно существовать.
echo [<string>...]
Отобразить аргументы в виде текста.
echo_append [<string>...]
Отобразить аргументы в виде текста, но без новой строки.
env [--unset=NAME]... [NAME=VALUE]... COMMAND [ARG]...
Запустить команду в изменённой среде.
environment
Отобразить текущие переменные среды.
make_directory <dir>...
Создать директории <dir>. При необходимости создаются и родительские директории. Если директория уже существует, она будет проигнорирована.
md5sum <file>...

Создать MD5 контрольную сумму файлов в формате md5sum:

351abe79cd3800b38cdfb25d45015a15  file1.txt
052f86c15bbde68af55c7f7b340ab639  file2.txt
remove [-f] <file>...
Удалить файл(ы), используйте -f для принудительного удаления. Если файл не существует, он будет проигнорирован.
remove_directory <dir>
Удалить директорию и её содержимое. Если директория не существует, она будет проигнорирована.
rename <oldname> <newname>
Переименовать файл или директорию (в пределах одного тома).
sleep <number>...
Задержаться на заданное количество секунд.
tar [cxt][vf][zjJ] file.tar [<options>...] [--] [<file>...]

Создать или извлечь архив tar или zip. Параметры:

--
Прекратить интерпретацию параметров и обработать все оставшиеся аргументы как имена файлов, даже если они начинаются с -.
--files-from=<file>
Считать имена файлов из указанного файла, по одному на строку. Пустые строки игнорируются. Строки не могут начинаться с - за исключением --add-file=<name> для добавления файлов, имена которых начинаются с -.
--mtime=<date>
Указать время изменения, записанное в заголовках tar-файла.
--format=<format>
Указать формат создаваемого архива. Поддерживаемые форматы: 7zip, gnutar, pax, paxr (ограниченный pax, по умолчанию) и zip.
time <command> [<args>...]
Запустить команду и вернуть время выполнения.
touch <file>
Создать файл.
touch_nocreate <file>
Создать файл, если он существует, но не создавать, если он отсутствует. Если файл не существует, он будет проигнорирован.

Инструменты командной строки, специфичные для UNIX

Следующие cmake -E команды доступны только в UNIX:

create_symlink <old> <new>
Создать символическую ссылку <new> с именем <old>.

Инструменты командной строки, специфичные для Windows

Следующие cmake -E команды доступны только в Windows:

delete_regv <key>
Удалить значение из реестра Windows.
env_vs8_wince <sdkname>
Отображает пакетный файл, который устанавливает среду для предоставленного SDK Windows CE, установленного в VS2005.
env_vs9_wince <sdkname>
Отображает пакетный файл, который устанавливает среду для предоставленного SDK Windows CE, установленного в VS2008.
write_regv <key> <value>
Записать значение в реестр Windows.

Режим инструмента поиска пакетов

CMake предоставляет помощник для проектов на основе Makefile с подписью:

cmake --find-package <options>...

Этот режим работает как режим pkg-config.

Искать пакет с помощью find_package() и выводить полученные флаги в стандартный вывод. Это можно использовать для поиска установленных библиотек с помощью cmake вместо pkg-config в проектах на основе Makefile или в проектах на основе autoconf (через share/aclocal/cmake.m4).

Примечание

Этот режим не имеет хорошей поддержки из-за некоторых технических ограничений. Он сохраняется для совместимости, но не должен использоваться в новых проектах.

См. также

Для получения помощи в использовании CMake доступны следующие ресурсы:

Главная страница

https://cmake.org

Основная стартовая точка для изучения CMake.

Часто задаваемые вопросы

https://cmake.org/Wiki/CMake_FAQ

Wiki содержит ответы на часто задаваемые вопросы.

Онлайн-документация

https://cmake.org/documentation

Ссылки на доступную документацию можно найти на этой веб-странице.

Список рассылки

https://cmake.org/mailing-lists

Для получения помощи и обсуждения использования cmake предоставляется список рассылки по адресу cmake@cmake.org. Список является только для членов, но можно подписаться на веб-странице CMake. Пожалуйста, сначала прочтите всю документацию по адресу https://cmake.org перед отправкой вопросов в список.

© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.6/manual/cmake.1.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API