cmake(1)
Синопсис
Generate a Project Buildsystem cmake [<options>] -B <path-to-build> [-S <path-to-source>] cmake [<options>] <path-to-source | path-to-existing-build> Build a Project cmake --build <dir> [<options>] [-- <build-tool-options>] Install a Project cmake --install <dir> [<options>] Open a Project cmake --open <dir> Run a Script cmake [-D <var>=<value>]... -P <cmake-script-file> Run a Command-Line Tool cmake -E <command> [<options>] Run the Find-Package Tool cmake --find-package [<options>] Run a Workflow Preset cmake --workflow <options> View Help cmake --help[-<topic>]
Описание
Исполняемый файл cmake является командной строкой генератора кроссплатформенной системы сборки CMake. Вышеприведённый Синопсис перечисляет различные действия, которые может выполнить этот инструмент, как описано в разделах ниже.
Чтобы собрать проект ПО с помощью CMake, воспользуйтесь Генерацией системы сборки проекта. Дополнительно можно использовать cmake для Сборки проекта, Установки проекта или просто запуска соответствующего инструмента сборки (например, make) напрямую. cmake также может использоваться для Просмотра справки.
Другие действия предназначены для использования разработчиками программного обеспечения, которые пишут скрипты на языке CMake language для поддержки своих сборок.
Для графических пользовательских интерфейсов, которые могут быть использованы вместо cmake, см. ccmake и cmake-gui. Для интерфейсов командной строки для средств тестирования и упаковки CMake см. ctest и cpack.
Для получения дополнительной информации о CMake в целом см. см. также ссылки в конце этого руководства.
Введение в системы сборки CMake
Система сборки описывает, как собрать исполняемые файлы и библиотеки проекта из исходного кода с помощью инструмента сборки, чтобы автоматизировать этот процесс. Например, система сборки может быть Makefile для использования с командной строкой make инструментом или файлом проекта для интегрированной среды разработки (IDE). Чтобы избежать необходимости обслуживания нескольких таких систем сборки, проект может указать свою систему сборки абстрактно с помощью файлов, написанных на языке CMake language. Из этих файлов CMake генерирует предпочтительную систему сборки локально для каждого пользователя с помощью бэкенда, называемого генератором.
Для генерации системы сборки с помощью CMake необходимо выбрать следующее:
- Дерево исходного кода
-
Верхнеуровневая директория, содержащая исходные файлы, предоставляемые проектом. Проект указывает свою систему сборки с помощью файлов, как описано в руководстве
cmake-language(7), начиная с верхнего уровня файла, названногоCMakeLists.txt. Эти файлы указывают целевые файлы сборки и их зависимости, как описано в руководствеcmake-buildsystem(7). - Дерево сборки
-
Верхнеуровневая директория, в которой будут храниться файлы системы сборки и артефакты выходных данных сборки (например, исполняемые файлы и библиотеки). CMake запишет файл
CMakeCache.txtдля идентификации директории как дерева сборки и хранения постоянной информации, такой как параметры конфигурации системы сборки.Для поддержания чистого дерева исходного кода выполните сборку вне исходного дерева, используя отдельное выделенное дерево сборки. Также поддерживается сборка внутри исходного дерева, в которой дерево сборки расположено в той же директории, что и дерево исходного кода, но это не рекомендуется.
- Генератор
-
Это выбирает тип системы сборки для генерации. Смотрите руководство
cmake-generators(7)для документации всех генераторов. Запуститеcmake --help, чтобы увидеть список доступных локально генераторов. Дополнительно используйте опцию-Gниже для указания генератора или просто примите значение по умолчанию, выбранное CMake для текущей платформы.При использовании одного из генераторов инструментов сборки командной строки CMake ожидает, что среда, необходимая для компилятора, уже настроена в оболочке. При использовании одного из генераторов инструментов сборки IDE, никакая особая среда не требуется.
Генерация системы сборки проекта
Запустите CMake с одной из следующих команд, чтобы указать деревья исходного кода и сборки и сгенерировать систему сборки:
cmake [<options>] -B <path-to-build> [-S <path-to-source>]
Добавлено в версии 3.13.
Использует <path-to-build> как дерево сборки и <path-to-source> как дерево исходного кода. Указанные пути могут быть абсолютными или относительными по отношению к текущей рабочей директории. Дерево исходного кода должно содержать файл CMakeLists.txt. Дерево сборки будет создано автоматически, если оно ещё не существует. Например:
$ cmake -S src -B build
-
cmake [<options>] <path-to-source> -
Использует текущую рабочую директорию как дерево сборки и
<path-to-source>как дерево исходного кода. Указанный путь может быть абсолютным или относительным по отношению к текущей рабочей директории. Дерево исходного кода должно содержать файлCMakeLists.txtи не должно содержать файлCMakeCache.txt, так как последний идентифицирует существующее дерево сборки. Например:$ mkdir build ; cd build $ cmake ../src
-
cmake [<options>] <path-to-existing-build> -
Использует
<path-to-existing-build>как дерево сборки и загружает путь к дереву исходного кода из файлаCMakeCache.txt, который должен был быть сгенерирован предыдущим запуском CMake. Указанный путь может быть абсолютным или относительным по отношению к текущей рабочей директории. Например:$ cd build $ cmake .
Во всех случаях <options> может включать ноль или более опций Опции ниже.
Указанные выше стили для указания дерева исходного кода и дерева сборки могут быть смешанными. Пути, указанные с помощью -S или -B, всегда классифицируются как деревья исходного кода или сборки соответственно. Пути, указанные обычными аргументами, классифицируются на основе их содержимого и типов путей, указанных ранее. Если указан только один тип пути, для другого используется текущая рабочая директория (cwd). Например:
Командная строка | Директория исходного кода | Директория сборки |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Изменено в версии 3.23: CMake предупреждает, когда задано несколько путей к исходному коду. Это никогда официально не документировалось и не поддерживалось, но более старые версии случайно принимали несколько путей к исходному коду и использовали последний указанный путь. Избегайте передачи нескольких аргументов с путями к исходному коду.
После генерации системы сборки можно использовать соответствующий инструмент сборки для сборки проекта. Например, после использования генератора Unix Makefiles можно запустить make напрямую:
$ make $ make install
В качестве альтернативы, можно использовать cmake для Сборки проекта, автоматически выбрав и вызвав соответствующий инструмент сборки.
Опции
-
-S <path-to-source> -
Путь к корневой директории проекта CMake для сборки.
-
-B <path-to-build> -
Путь к директории, которую CMake будет использовать как корень директории сборки.
Если директория ещё не существует, CMake её создаст.
-
-C <initial-cache> -
Загрузить предварительно скрипт для заполнения кэша.
Когда CMake впервые запускается в пустом дереве сборки, он создаёт файл
CMakeCache.txtи заполняет его настраиваемыми параметрами проекта. Эта опция может быть использована для указания файла, из которого следует загрузить записи кэша перед первым проходом по файлам проекта CMake. Загруженные записи имеют приоритет над значениями по умолчанию проекта. Указанный файл должен быть скриптом CMake, содержащим командыset(), которые используют опциюCACHE, а не файл в формате кэша.Ссылки на
CMAKE_SOURCE_DIRиCMAKE_BINARY_DIRв скрипте соответствуют верхнеуровневому дереву исходного кода и сборки.
-
-D <var>:<type>=<value>, -D <var>=<value> -
Создать или обновить запись CMake
CACHE.Когда CMake впервые запускается в пустой дереве сборки, он создаёт файл
CMakeCache.txtи заполняет его настраиваемыми параметрами проекта. Этот параметр можно использовать для задания параметра, который имеет приоритет над значением по умолчанию проекта. Параметр можно повторять для любого количестваCACHEзаписей.Если указана часть
:<type>, она должна быть одного из типов, указанных в документации командыset()для еёCACHEподписи. Если часть:<type>опущена, запись будет создана без типа, если она не существует с уже заданным типом. Если команда в проекте установит тип вPATHилиFILEPATH, то<value>будет преобразовано в абсолютный путь.Этот параметр также может быть задан как один аргумент:
-D<var>:<type>=<value>или-D<var>=<value>.Важно отметить, что порядок аргументов
-Cи-Dимеет значение. Они будут выполнены в том порядке, в котором они указаны, при этом последний аргумент имеет приоритет над предыдущими. Например, если вы укажете-DCMAKE_BUILD_TYPE=Debug, а затем аргумент-Cс файлом, который вызывает:set(CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE)
то аргумент
-Cбудет иметь приоритет, иCMAKE_BUILD_TYPEбудет установлено вRelease. Однако, если аргумент-Dследует за аргументом-C, он будет установлен вDebug.Если вызов
set(... CACHE ...)в файле-Cне используетFORCE, и аргумент-Dустанавливает ту же переменную, аргумент-Dбудет иметь приоритет независимо от порядка, из-за особенностей вызовов безFORCEset(... CACHE ...).
-
-U <globbing_expr> -
Удалить соответствующие записи из CMake
CACHE.Этот параметр может быть использован для удаления одной или нескольких переменных из файла
CMakeCache.txt, поддерживаются выражения подстановки с*и?. Параметр можно повторять для любого количестваCACHEзаписей.Используйте с осторожностью, вы можете сделать свою
CMakeCache.txtнеработающей.
-
-G <generator-name> -
Указать генератор системы сборки.
CMake может поддерживать несколько собственных систем сборки на некоторых платформах. Генератор отвечает за генерацию конкретной системы сборки. Возможные имена генераторов указаны в руководстве
cmake-generators(7).Если не указано, CMake проверяет переменную окружения
CMAKE_GENERATORи в противном случае использует встроенный выбор по умолчанию.
-
-T <toolset-spec> -
Указание набора инструментов для генератора, если поддерживается.
Некоторые генераторы CMake поддерживают указание набора инструментов, чтобы указать родной системе сборки, как выбрать компилятор. Подробнее см. переменную
CMAKE_GENERATOR_TOOLSET.
-
-A <platform-name> -
Указать имя платформы, если это поддерживается генератором.
Некоторые генераторы CMake поддерживают имя платформы, которое передаётся родной системе сборки для выбора компилятора или SDK. Подробнее см. переменную
CMAKE_GENERATOR_PLATFORM.
-
--toolchain <path-to-file> -
Добавлен в версии 3.21.
Указать файл цепочки инструментов для кросс-компиляции, что эквивалентно настройке переменной
CMAKE_TOOLCHAIN_FILE. Относительные пути интерпретируются как относительные к каталогу сборки, и если не найдены, к каталогу исходников.
-
--install-prefix <directory> -
Добавлен в версии 3.21.
Указать каталог установки, используемый переменной
CMAKE_INSTALL_PREFIX. Должен быть абсолютным путём.
-
-Wno-dev -
Отключить предупреждения разработчика.
Отключить предупреждения, предназначенные для автора файлов
CMakeLists.txt. По умолчанию это также отключит предупреждения о устаревших функциях.
-
-Wdev -
Включить предупреждения разработчика.
Включить предупреждения, предназначенные для автора файлов
CMakeLists.txt. По умолчанию это также включит предупреждения о устаревших функциях.
-
-Wdeprecated -
Включить предупреждения об устаревшей функциональности.
Включить предупреждения об использовании устаревшей функциональности, предназначенные для автора файлов
CMakeLists.txt.
-
-Wno-deprecated -
Отключить предупреждения об устаревшей функциональности.
Отключить предупреждения об использовании устаревшей функциональности, предназначенные для автора файлов
CMakeLists.txt.
-
-Werror=<what> -
Обрабатывать предупреждения CMake как ошибки.
<what>должно быть одним из следующих:-
dev -
Сделать предупреждения разработчика ошибками.
Сделать предупреждения, предназначенные для автора файлов
CMakeLists.txt, ошибками. По умолчанию это также включит предупреждения о устаревших функциях как ошибки. -
deprecated -
Сделать предупреждения об устаревших макросах и функциях ошибками.
Сделать предупреждения об использовании устаревших макросов и функций, предназначенные для автора файлов
CMakeLists.txt, ошибками.
-
-
-Wno-error=<what> -
Не обрабатывать предупреждения CMake как ошибки.
<what>должно быть одним из следующих:-
dev -
Сделать предупреждения, предназначенные для автора файлов
CMakeLists.txt, не ошибками. По умолчанию это также отключит предупреждения об устаревших функциях как ошибки. -
deprecated -
Сделать предупреждения об использовании устаревших макросов и функций, предназначенные для автора файлов
CMakeLists.txt, не ошибками.
-
-
--fresh -
Добавлен в версии 3.24.
Выполнить свежую конфигурацию дерева сборки. Это удаляет любой существующий файл
CMakeCache.txtи связанный каталогCMakeFiles/, и создаёт их заново.Изменено в версии 3.30: Для зависимостей, ранее заполненных
FetchContentс настройкойNEWдля политикиCMP0168, их файлы отметки и скрипты из любой предыдущей работы будут удалены. Поэтому шаги загрузки, обновления и исправления будут вынуждены повторно выполняться.
-
-L[A][H] -
Список не-расширенных кэшированных переменных.
Список переменных
CACHEзапустит CMake и выведет все переменные из кэша CMakeCACHE, которые не помечены какINTERNALилиADVANCED. Это эффективно отобразит текущие настройки CMake, которые затем можно изменить с помощью параметра-D. Изменение некоторых переменных может привести к созданию большего количества переменных. ЕслиAуказано, то будут отображены также расширенные переменные. ЕслиHуказано, также будет отображена помощь для каждой переменной.
-
-LR[A][H] <regex> -
Добавлен в версии 3.31.
Показать конкретные не-расширенные кэшированные переменные
Показать не-
INTERNALниADVANCEDпеременные из кэша CMakeCACHE, которые соответствуют заданному регулярному выражению. ЕслиAуказано, то будут отображены также расширенные переменные. ЕслиHуказано, также будет отображена помощь для каждой переменной.
-
-N -
Только режим просмотра.
Только загрузить кэш. Не выполнять на самом деле шаги конфигурации и генерации.
-
--graphviz=<file> -
Генерировать граф graphviz зависимостей, см.
CMakeGraphVizOptionsдля более подробной информации.Генерировать файл graphviz, который будет содержать все зависимости библиотек и исполняемых файлов в проекте. См. документацию для
CMakeGraphVizOptionsдля получения более подробной информации.
-
--system-information [file] -
Вывести информацию об этой системе.
Вывести широкий спектр информации о текущей системе. Если выполняется из корня бинарного дерева проекта CMake, он также выведет дополнительную информацию, такую как кэш, файлы журналов и т. д.
-
--print-config-dir -
Добавлен в версии 3.31.
Вывести директорию конфигурации CMake для запросов FileAPI на уровне пользователя.
См.
CMAKE_CONFIG_DIRдля более подробной информации.
-
--log-level=<level> -
Добавлен в версии 3.16.
Установить уровень вывода
<level>.Команда
message()будет выводить сообщения только уровня указанного уровня логирования или выше. Допустимые уровни логированияERROR,WARNING,NOTICE,STATUS(по умолчанию),VERBOSE,DEBUG, илиTRACE.Чтобы уровень логирования сохранился между запусками CMake, установите
CMAKE_MESSAGE_LOG_LEVELв качестве переменной кэша. Если указан и параметр командной строки, и переменная, параметр командной строки имеет приоритет.Для обратной совместимости
--loglevelтакже принимается как синоним этого параметра.Добавлен в версии 3.25: См. команду
cmake_language()для получения способа получения текущего уровня логирования сообщений.
-
--log-context -
Включить вывод команды
message()с контекстом, прикреплённым к каждому сообщению.Этот параметр включает отображение контекста только для текущего запуска CMake. Чтобы сохранять отображение контекста для всех последующих запусков CMake, установите
CMAKE_MESSAGE_CONTEXT_SHOWв качестве переменной кэша. Если указан этот параметр командной строки,CMAKE_MESSAGE_CONTEXT_SHOWигнорируется.
-
--debug-trycompile -
Не удалять файлы и директории, созданные для вызовов
try_compile()/try_run(). Это полезно при отладке не пройденных проверок.Обратите внимание, что некоторые использования
try_compile()могут использовать одну и ту же структуру сборки, что ограничивает полезность этого параметра, если проект выполняет более одногоtry_compile(). Например, такие использования могут изменить результаты, так как артефакты из предыдущего try-compile могут привести к тому, что следующий тест пройдет или не пройдет неправильно. Этот параметр лучше использовать только при отладке.(В связи с предыдущим, команда
try_run()фактически являетсяtry_compile(). Любая комбинация этих двух команд подвержена потенциальным проблемам, описанным выше.)Добавлен в версии 3.25: При включении этого параметра каждый тест try-compile выводит сообщение в журнал, сообщая о директории, в которой выполняется проверка.
-
--debug-output -
Включить режим отладки cmake.
Выводить дополнительную информацию во время работы cmake, например, трассировки стека с вызовами
message(SEND_ERROR).
-
--debug-find -
Добавлен в версии 3.17.
Включить режим отладки команд поиска cmake.
Выводить дополнительную информацию о вызовах поиска во время работы cmake в стандартный поток ошибок. Вывод предназначен для чтения человеком и не предназначен для парсинга. См. также переменную
CMAKE_FIND_DEBUG_MODEдля отладки более локальной части проекта.
-
--debug-find-pkg=<pkg>[,...] -
Добавлен в версии 3.23.
Включить режим отладки команд поиска cmake при выполнении вызовов
find_package(<pkg>), где<pkg>- это запись в заданном списке имён пакетов, разделённых запятыми, и чувствительных к регистру.Аналогично
--debug-find, но ограничивая область действия указанными пакетами.
-
--debug-find-var=<var>[,...] -
Добавлен в версии 3.23.
Включить режим отладки команд поиска cmake, когда они вызываются с
<var>в качестве переменной результата, где<var>- это запись в заданном списке, разделённых запятыми.Аналогично
--debug-find, но ограничивая область действия указанными именами переменных.
-
--trace -
Включить режим трассировки cmake.
Вывести трассировку всех выполненных вызовов и их источников.
-
--trace-expand -
Включить режим трассировки cmake.
Аналогично
--trace, но с раскрытыми переменными.
-
--trace-format=<format> -
Добавлен в версии 3.17.
Включить режим трассировки cmake и установить формат вывода трассировки.
<format>может иметь одно из следующих значений.-
human -
Выводит каждую строку трассировки в удобочитаемом формате. Это формат по умолчанию.
-
json-v1 -
Выводит каждую строку в виде отдельного JSON-документа. Каждый документ отделяется новой строкой (
\n). Гарантируется, что внутри JSON-документа не будет символов новой строки.JSON-формат трассировки{ "file": "/full/path/to/the/CMake/file.txt", "line": 0, "cmd": "add_executable", "args": ["foo", "bar"], "time": 1579512535.9687231, "frame": 2, "global_frame": 4 }Поля:
-
file -
Полный путь к файлу исходного кода CMake, в котором была вызвана функция.
-
line -
Строка в
file, где начинается вызов функции. -
line_end -
Если вызов функции занимает несколько строк, это поле будет установлено на строку, где вызов функции заканчивается. Если вызов функции занимает одну строку, это поле не устанавливается. Это поле было добавлено в версии
json-v1формата. -
defer -
Необязательное поле, присутствующее, когда вызов функции был отложен командой
cmake_language(DEFER). Если присутствует, его значение — строка, содержащая отложенный вызов<id>. -
cmd -
Имя функции, которая была вызвана.
-
args -
Список строк всех параметров функции.
-
time -
Отметка времени (секунды с начала эпохи) вызова функции.
-
frame -
Глубина кадра стека функции, которая была вызвана в контексте обрабатываемого в данный момент
CMakeLists.txt. -
global_frame -
Глубина кадра стека функции, которая была вызвана, отслеживаемая глобально по всем
CMakeLists.txtфайлам, участвующим в трассировке. Это поле было добавлено в версииjson-v1формата.
Кроме того, первый JSON-документ вывода содержит поле
versionдля текущей основной и дополнительной версииJSON-формат версии{ "version": { "major": 1, "minor": 2 } }Поля:
-
version -
Указывает версию JSON-формата. Версия имеет основные и дополнительные компоненты, следующие соглашениям семантической версии.
-
-
-
--trace-source=<file> -
Включить режим трассировки cmake, но выводить только строки из указанного файла.
Допускается несколько параметров.
-
--trace-redirect=<file> -
Включить режим отслеживания CMake и перенаправить вывод отслеживания в файл вместо stderr.
-
--warn-uninitialized -
Выводить предупреждения о неинициализированных значениях.
Выводить предупреждение при использовании неинициализированной переменной.
-
--warn-unused-vars -
Не выполняет никаких действий. В версиях CMake 3.2 и ниже, эта опция включала предупреждения о неиспользуемых переменных. В версиях CMake 3.3–3.18 опция была нерабочей. В CMake 3.19 и выше опция была удалена.
-
--no-warn-unused-cli -
Не выводить предупреждения об опциях командной строки.
Не искать переменные, объявленные в командной строке, но не используемые.
-
--check-system-vars -
Поиск проблем с использованием переменных в системных файлах.
Обычно неиспользуемые и неинициализированные переменные ищутся только в
CMAKE_SOURCE_DIRиCMAKE_BINARY_DIR. Этот флаг указывает CMake на то, чтобы выводить предупреждения и об остальных файлах.
-
--compile-no-warning-as-error -
Добавлена в версии 3.24.
Игнорировать свойство целевого объекта
COMPILE_WARNING_AS_ERRORи переменнуюCMAKE_COMPILE_WARNING_AS_ERROR, препятствуя тому, чтобы предупреждения обрабатывались как ошибки при компиляции.
-
--profiling-output=<path> -
Добавлена в версии 3.18.
Используется в сочетании с
--profiling-formatдля вывода в указанный путь.
-
--profiling-format=<file> -
Включить вывод профилирующих данных скрипта CMake в заданном формате.
Это может помочь в анализе производительности исполняемых скриптов CMake. Для обработки вывода в читаемый человеком формат необходимо использовать сторонние приложения.
В настоящее время поддерживаются следующие значения:
google-traceВывод в формате Google Trace, который можно проанализировать с помощью вкладки «Отслеживание» в Google Chrome или с помощью плагина для инструмента, такого как Trace Compass.
-
--preset <preset>, --preset=<preset> -
Читает
presetиз файловCMakePresets.jsonиCMakeUserPresets.json, которые должны находиться в той же директории, что и основной файлCMakeLists.txt. Предварительная настройка может указывать генератор, директорию сборки, список переменных и другие аргументы для передачи в CMake. По крайней мере, один из файловCMakePresets.jsonилиCMakeUserPresets.jsonдолжен быть присутствовать.CMake GUIтакже распознает и поддерживает файлыCMakePresets.jsonиCMakeUserPresets.json. Более подробная информация о этих файлах приведена вcmake-presets(7).Настройки считываются до всех других параметров командной строки, хотя параметр
-Sможет использоваться для указания директории исходных кодов, содержащей файлыCMakePresets.jsonиCMakeUserPresets.json. Если-Sне указан, предполагается, что текущая директория является основной директорией исходных кодов, и должна содержать файлы настроек. Параметры, указанные выбранной настройкой (переменные, генератор и т. д.), могут быть переопределены вручную в командной строке. Например, если в настройке установлено значение переменнойMYVARв1, но пользователь задаёт её значение2с аргументом-D, значение2будет иметь приоритет.
-
--list-presets[=<type>] -
Отображает доступные настройки указанного
<type>. Допустимые значения для<type>—configure,build,test,package, илиall. Если<type>опущено, предполагаетсяconfigure. Текущая рабочая директория должна содержать файлы настроек CMake, если не используется параметр-Sдля указания другой основной директории исходных кодов.
-
--debugger -
Включает интерактивное отладку языка CMake. CMake предоставляет интерфейс отладки в именованной пайпе
--debugger-pipe, который соответствует спецификации Debug Adapter Protocol с следующими изменениями.Ответ
initializeвключает дополнительное поле с именемcmakeVersion, которое указывает версию отлаживаемого CMake.Ответ на инициализацию отладчика{ "cmakeVersion": { "major": 3, "minor": 27, "patch": 0, "full": "3.27.0" } }Члены:
-
major -
Целое число, определяющее номер основной версии.
-
minor -
Целое число, определяющее номер дополнительной версии.
-
patch -
Целое число, определяющее номер патча.
-
full -
Строка, определяющая полную версию CMake.
-
-
--debugger-pipe <pipe name>, --debugger-pipe=<pipe name> -
Имя пайпа (в Windows) или доменного сокета (в Unix) для связи с отладчиком.
-
--debugger-dap-log <log path>, --debugger-dap-log=<log path> -
Записывает все взаимодействия отладчика в указанный файл.
Построение проекта
CMake предоставляет командную строку для построения уже сгенерированного бинарного дерева проекта:
cmake --build <dir> [<options>] [-- <build-tool-options>] cmake --build --preset <preset> [<options>] [-- <build-tool-options>]
Это абстракция интерфейса командной строки средства для построения с указанными параметрами:
-
--build <dir> -
Директория бинарных файлов проекта, которая должна быть построена. Требуется (если не указана настройка) и должна быть первой.
-
--preset <preset>, --preset=<preset> -
Использовать настройки построения для задания параметров построения. Директория бинарных файлов проекта определяется по ключу
configurePreset. Текущая рабочая директория должна содержать файлы настроек CMake. Более подробную информацию см. вpreset.
-
--list-presets -
Отображает доступные настройки построения. Текущая рабочая директория должна содержать файлы настроек CMake.
-
-j [<jobs>], --parallel [<jobs>] -
Добавлена в версии 3.12.
Максимальное количество одновременных процессов для построения. Если
<jobs>опущено, используется значение по умолчанию для используемого средства построения.Переменная среды
CMAKE_BUILD_PARALLEL_LEVEL, если установлена, задаёт значение по умолчанию для уровня параллелизма, когда этот параметр не задан.Некоторые средства построения всегда выполняют построение параллельно. Использование значения
<jobs>в1может ограничить количество задач до одной.
-
-t <tgt>..., --target <tgt>... -
Построить
<tgt>вместо целевого объекта по умолчанию. Можно указать несколько целевых объектов, разделяя их пробелами.
-
--config <cfg> -
Для средств построения с несколькими конфигурациями выбирает конфигурацию
<cfg>.
-
--clean-first -
Сначала очистить целевой объект
clean, а затем выполнить построение. (Для очистки только используйте--target clean.)
-
--resolve-package-references=<value> -
Добавлена в версии 3.23.
Разрешить ссылки на удалённые пакеты из внешних менеджеров пакетов (например, NuGet) перед сборкой. Когда
<value>установлено вon(по умолчанию), пакеты будут восстановлены перед построением целевого объекта. Когда<value>установлено вonly, пакеты будут восстановлены, но сборка не будет выполнена. Когда<value>установлено вoff, пакеты не будут восстановлены.Если целевой объект не определяет никаких ссылок на пакеты, эта опция ничего не делает.
Этот параметр можно указать в предустановке сборки (используя
resolvePackageReferences). Настройка предустановки будет проигнорирована, если указан этот параметр командной строки.Если параметр командной строки или параметр предустановки не указаны, будет оценена переменная кэша, специфичная для среды, чтобы определить, следует ли выполнять восстановление пакетов.
При использовании генератора Visual Studio ссылки на пакеты определяются с помощью свойства
VS_PACKAGE_REFERENCES. Пакеты восстанавливаются с помощью NuGet. Это можно отключить, установив переменнуюCMAKE_VS_NUGET_PACKAGE_RESTOREв значениеOFF.
-
--use-stderr -
Игнорируется. Поведение по умолчанию в CMake >= 3.0.
-
-v, --verbose -
Включить подробный вывод — если поддерживается — включая команды сборки, которые будут выполнены.
Этот параметр можно опустить, если переменная окружения
VERBOSEили кэшированная переменнаяCMAKE_VERBOSE_MAKEFILEустановлены.
-
-- -
Передать оставшиеся параметры в системный инструмент.
Запустите cmake --build без параметров для получения краткой справки.
Установка проекта
CMake предоставляет параметр командной строки для установки уже сгенерированного двоичного дерева проекта:
cmake --install <dir> [<options>]
Это можно использовать после сборки проекта для выполнения установки без использования сгенерированной системы сборки или системного инструмента сборки. Доступны следующие параметры:
-
--install <dir> -
Директория двоичных файлов проекта для установки. Это обязательно и должно быть первым.
-
--config <cfg> -
Для генераторов с несколькими конфигурациями выберите конфигурацию
<cfg>.
-
--component <comp> -
Установка по компонентам. Установить только компонент
<comp>.
-
--default-directory-permissions <permissions> -
Права доступа к каталогам по умолчанию. Права доступа в формате
<u=rwx,g=rx,o=rx>.
-
--prefix <prefix> -
Переопределить префикс установки,
CMAKE_INSTALL_PREFIX.
-
--strip -
Сжать перед установкой.
-
-v, --verbose -
Включить подробный вывод.
Этот параметр можно опустить, если переменная окружения
VERBOSEустановлена.
-
-j <jobs>, --parallel <jobs> -
Добавлена в версии 3.31.
Установка в параллельном режиме с заданным числом задач. Доступно только если
INSTALL_PARALLELвключен. Переменная окруженияCMAKE_INSTALL_PARALLEL_LEVELзадаёт уровень параллелизма по умолчанию, когда этот параметр не указан.
Запустите cmake --install без параметров для получения краткой справки.
Открытие проекта
cmake --open <dir>
Открыть сгенерированный проект в соответствующем приложении. Поддерживается только некоторыми генераторами.
Запуск скрипта
cmake [-D <var>=<value>]... -P <cmake-script-file> [-- <unparsed-options>...]
-
-D <var>=<value> -
Определение переменной для режима скрипта.
-
-P <cmake-script-file> -
Обработать данный файл CMake как скрипт, написанный на языке CMake. Этап конфигурации или генерации не выполняется, и кэш не изменяется. Если переменные определены с помощью
-D, это необходимо сделать до аргумента-P.
Любые параметры после -- не анализируются CMake, но всё ещё включены в набор переменных CMAKE_ARGV<n>, переданных в скрипт (включая само --).
Запуск утилиты командной строки
CMake предоставляет встроенные инструменты командной строки через синтаксис
cmake -E <command> [<options>]
-
-E [help] -
Запустите
cmake -Eилиcmake -E helpдля получения сводки команд.
Доступные команды:
-
capabilities -
Добавлена в версии 3.7.
Отчёт о возможностях cmake в формате JSON. Вывод представляет собой JSON-объект со следующими ключами:
-
version -
JSON-объект с информацией о версии. Ключи:
-
string -
Полная строка версии, отображаемая cmake
--version. -
major -
Основной номер версии в целочисленном формате.
-
minor -
Дополнительный номер версии в целочисленном формате.
-
patch -
Номер патча в целочисленном формате.
-
suffix -
Строка суффикса версии cmake.
-
isDirty -
Булевое значение, установленное, если сборка cmake выполняется из грязного дерева.
-
-
generators -
Список доступных генераторов. Каждый генератор — это JSON-объект со следующими ключами:
-
name -
Строка, содержащая имя генератора.
-
toolsetSupport -
trueесли генератор поддерживает наборы инструментов, иfalseв противном случае. -
platformSupport -
trueесли генератор поддерживает платформы, иfalseв противном случае. -
supportedPlatforms -
Добавлена в версии 3.21.
Необязательный член, который может быть присутствующим, когда генератор поддерживает указание платформы через
CMAKE_GENERATOR_PLATFORM(-A ...). Значение — список известных платформ. -
extraGenerators -
Список строк со всеми Дополнительными генераторами, совместимыми с генератором.
-
-
fileApi -
Необязательный член, который присутствует, когда доступен
cmake-file-api(7). Значение — JSON-объект с одним членом:-
requests -
JSON-массив, содержащий ноль или более поддерживаемых запросов file-api. Каждый запрос — это JSON-объект с членами:
-
kind -
Указывает один из поддерживаемых Типов объектов.
-
version -
JSON-массив, элементы которого являются JSON-объектами, содержащими члены
majorиminor, задающие целочисленные компоненты версии не меньше нуля.
-
-
-
serverMode -
trueесли cmake поддерживает серверный режим, иfalseв противном случае. Всегда ложь с CMake 3.20. -
tls -
Добавлена в версии 3.25.
trueесли поддержка TLS включена, иfalseв противном случае. -
debugger -
Добавлена в версии 3.27.
trueесли режим--debuggerподдерживается, иfalseв противном случае.
-
-
cat [--] <files>... -
Добавлен в версии 3.18.
Объединить файлы и вывести на стандартный вывод.
-
-- -
Добавлен в версии 3.24.
Добавлена поддержка аргумента с двойным дефисом
--. Эта базовая реализацияcatне поддерживает никаких опций, поэтому использование опции, начинающейся с-, приведет к ошибке. Используйте--для указания окончания опций, если файл начинается с-.
Добавлен в версии 3.29:
catтеперь может выводить стандартный ввод, передавая аргумент-. -
-
chdir <dir> <cmd> [<arg>...] -
Изменить текущий рабочий каталог и выполнить команду.
-
compare_files [--ignore-eol] <file1> <file2> -
Проверить, равны ли
<file1>и<file2>. Если файлы одинаковые, то возвращает0, в противном случае возвращает1. В случае неверных аргументов возвращает 2.-
--ignore-eol -
Добавлен в версии 3.14.
Опция подразумевает сравнение по строкам и игнорирует различия LF/CRLF.
-
-
copy <file>... <destination>, copy -t <destination> <file>... -
Копировать файлы в
<destination>(файл или каталог). Если указано несколько файлов или указан-t, то<destination>должен быть каталогом и он должен существовать. Если-tне указан, последний аргумент предполагается как<destination>. Поддержка шаблонов не реализована.copyследует за символьными ссылками. Это означает, что он не копирует символьную ссылку, но файлы или каталоги, на которые она указывает.Добавлен в версии 3.5: Поддержка нескольких входных файлов.
Добавлен в версии 3.26: Поддержка аргумента
-t.
-
copy_directory <dir>... <destination> -
Копировать содержимое каталогов
<dir>...в каталог<destination>. Если каталог<destination>не существует, он будет создан.copy_directoryследует за символьными ссылками.Добавлен в версии 3.5: Поддержка нескольких входных каталогов.
Добавлен в версии 3.15: Команда теперь завершается ошибкой, когда исходный каталог не существует. Ранее она успешно завершалась, создавая пустой целевой каталог.
-
copy_directory_if_different <dir>... <destination> -
Добавлен в версии 3.26.
Копировать изменённое содержимое каталогов
<dir>...в каталог<destination>. Если каталог<destination>не существует, он будет создан.copy_directory_if_differentследует за символьными ссылками. Команда завершается ошибкой, если исходный каталог не существует.
-
copy_if_different <file>... <destination> -
Копировать файлы в
<destination>(файл или каталог), если они изменены. Если указано несколько файлов,<destination>должен быть каталогом и он должен существовать.copy_if_differentследует за символьными ссылками.Добавлен в версии 3.5: Поддержка нескольких входных файлов.
-
create_symlink <old> <new> -
Создать символьную ссылку
<new>с именем<old>.Добавлен в версии 3.13: Поддержка создания символьных ссылок в Windows.
Примечание
Путь, где будет создана символическая ссылка
<new>, должен существовать.
-
create_hardlink <old> <new> -
Добавлен в версии 3.19.
Создать жёсткую ссылку
<new>с именем<old>.Примечание
Путь, где будет создана жёсткая ссылка
<new>, должен существовать.<old>должен существовать.
-
echo [<string>...] -
Отображает аргументы как текст.
-
echo_append [<string>...] -
Отображает аргументы как текст, но без новой строки.
-
env [<options>] [--] <command> [<arg>...] -
Добавлен в версии 3.1.
Запустить команду в изменённой среде. Опции:
-
NAME=VALUE -
Заменяет текущее значение
NAMEнаVALUE.
-
--unset=NAME -
Устанавливает текущее значение
NAMEв значение по умолчанию.
-
--modify ENVIRONMENT_MODIFICATION -
Добавлен в версии 3.25.
Применить единственную операцию
ENVIRONMENT_MODIFICATIONк изменённой среде.Опции
NAME=VALUEи--unset=NAMEэквивалентны--modify NAME=set:VALUEи--modify NAME=unset:, соответственно. Обратите внимание, что--modify NAME=reset:сбрасываетNAMEдо значения, которое было у него при запуске cmake (или устанавливает его в значение по умолчанию), а не до последнего значения опцииNAME=VALUE.
-
-- -
Добавлен в версии 3.24.
Добавлена поддержка аргумента с двойным дефисом
--. Используйте--для остановки интерпретации опций/переменных среды и обработки следующего аргумента как команды, даже если он начинается с-или содержит=.
-
-
environment -
Отобразить текущие переменные среды.
-
false -
Добавлен в версии 3.16.
Не выполнять никаких действий, с кодом выхода 1.
-
make_directory <dir>... -
Создать каталоги
<dir>. При необходимости создавать родительские каталоги тоже. Если каталог уже существует, он будет проигнорирован.Добавлен в версии 3.5: Поддержка нескольких входных каталогов.
-
md5sum <file>... -
Создать контрольную сумму MD5 файлов в формате, совместимом с
md5sum:351abe79cd3800b38cdfb25d45015a15 file1.txt 052f86c15bbde68af55c7f7b340ab639 file2.txt
-
sha1sum <file>... -
Добавлен в версии 3.10.
Создать контрольную сумму SHA1 файлов в формате, совместимом с
sha1sum:4bb7932a29e6f73c97bb9272f2bdc393122f86e0 file1.txt 1df4c8f318665f9a5f2ed38f55adadb7ef9f559c file2.txt
-
sha224sum <file>... -
Добавлен в версии 3.10.
Создать контрольную сумму SHA224 файлов в формате, совместимом с
sha224sum:b9b9346bc8437bbda630b0b7ddfc5ea9ca157546dbbf4c613192f930 file1.txt 6dfbe55f4d2edc5fe5c9197bca51ceaaf824e48eba0cc453088aee24 file2.txt
-
sha256sum <file>... -
Добавлен в версии 3.10.
Создать контрольную сумму SHA256 файлов в формате, совместимом с
sha256sum:76713b23615d31680afeb0e9efe94d47d3d4229191198bb46d7485f9cb191acc file1.txt 15b682ead6c12dedb1baf91231e1e89cfc7974b3787c1e2e01b986bffadae0ea file2.txt
-
sha384sum <file>... -
Добавлен в версии 3.10.
Создать контрольную сумму SHA384 файлов в формате, совместимом с
sha384sum:acc049fedc091a22f5f2ce39a43b9057fd93c910e9afd76a6411a28a8f2b8a12c73d7129e292f94fc0329c309df49434 file1.txt 668ddeb108710d271ee21c0f3acbd6a7517e2b78f9181c6a2ff3b8943af92b0195dcb7cce48aa3e17893173c0a39e23d file2.txt
-
sha512sum <file>... -
Добавлен в версии 3.10.
Создать контрольную сумму SHA512 файлов в формате, совместимом с
sha512sum:2a78d7a6c5328cfb1467c63beac8ff21794213901eaadafd48e7800289afbc08e5fb3e86aa31116c945ee3d7bf2a6194489ec6101051083d1108defc8e1dba89 file1.txt 7a0b54896fe5e70cca6dd643ad6f672614b189bf26f8153061c4d219474b05dad08c4e729af9f4b009f1a1a280cb625454bf587c690f4617c27e3aebdf3b7a2d file2.txt
-
remove [-f] <file>... -
Устарело начиная с версии 3.17.
Удалить файл(ы). Планировалось, что если какой-либо из перечисленных файлов не существует, команда возвращает код ошибки, но сообщение не регистрируется. Опция
-fизменяет поведение на возврат кода выхода 0 (т.е. успех) в таких ситуациях вместо этого.removeне следует за символьными ссылками. Это означает, что он удаляет только символьную ссылку, а не файлы, на которые она указывает.Реализация была ошибочной и всегда возвращала 0. Её нельзя исправить без нарушения обратной совместимости. Используйте
rmвместо этого.
-
remove_directory <dir>... -
Устарело начиная с версии 3.17.
Удалить каталоги
<dir>и их содержимое. Если каталог не существует, он будет проигнорирован. Используйтеrmвместо этого.Добавлено в версии 3.15: Поддержка нескольких каталогов.
Добавлено в версии 3.16: Если
<dir>является символической ссылкой на каталог, будет удалена только сама ссылка.
-
rename <oldname> <newname> -
Переименовать файл или каталог (в пределах одного тома). Если файл с
<newname>именем уже существует, он будет безмолвно перезаписан.
-
rm [-rRf] [--] <file|dir>... -
Добавлено в версии 3.17.
Удалить файлы
<file>или каталоги<dir>. Используйте-rили-Rдля рекурсивного удаления каталогов и их содержимого. Если какие-либо из перечисленных файлов/каталогов не существуют, команда возвращает ненулевой код выхода, но никаких сообщений не регистрируется. Опция-fизменяет поведение, чтобы в таких ситуациях возвращать нулевой код выхода (т.е. успех) вместо этого. Используйте--для остановки интерпретации опций и обработки всех оставшихся аргументов как путей, даже если они начинаются с-.
-
sleep <number> -
Добавлено в версии 3.0.
Подождать
<number>секунд.<number>может быть числом с плавающей точкой. Практический минимум составляет около 0,1 секунды из-за накладных расходов на запуск/остановку исполняемого файла CMake. Это может быть полезно в скрипте CMake для вставки задержки:# Sleep for about 0.5 seconds execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 0.5)
-
tar [cxt][vf][zjJ] file.tar [<options>] [--] [<pathname>...] -
Создать или извлечь архив tar или zip. Доступны следующие опции:
-
c -
Создать новый архив, содержащий указанные файлы. Если используется, аргумент
<pathname>...является обязательным.
-
x -
Извлечь из архива в систему.
Добавлено в версии 3.15: Аргумент
<pathname>...может использоваться для извлечения только выбранных файлов или каталогов. При извлечении выбранных файлов или каталогов необходимо указать их точные имена, включая путь, как выводится командой list (-t).
-
t -
Вывести содержимое архива.
Добавлено в версии 3.15: Аргумент
<pathname>...может использоваться для вывода списка только выбранных файлов или каталогов.
-
v -
Вывести подробный вывод.
-
z -
Сжать получившийся архив с помощью gzip.
-
j -
Сжать получившийся архив с помощью bzip2.
-
J -
Добавлено в версии 3.1.
Сжать получившийся архив с помощью XZ.
-
--zstd -
Добавлено в версии 3.15.
Сжать получившийся архив с помощью Zstandard.
-
--files-from=<file> -
Добавлено в версии 3.1.
Считывать имена файлов из указанного файла, по одному на строку. Пустые строки игнорируются. Строки не могут начинаться с
-за исключением--add-file=<name>для добавления файлов, имена которых начинаются с-.
-
--format=<format> -
Добавлено в версии 3.3.
Указать формат создаваемого архива. Поддерживаемые форматы:
7zip,gnutar,pax,paxr(ограниченный pax, по умолчанию) иzip.
-
--mtime=<date> -
Добавлено в версии 3.1.
Указать время изменения, записанное в записи архива tar.
-
--touch -
Добавлено в версии 3.24.
Использовать текущее локальное время вместо извлечения времен изменения файлов из архива.
-
-- -
Добавлено в версии 3.1.
Прекратить интерпретацию опций и обрабатывать все оставшиеся аргументы как имена файлов, даже если они начинаются с
-.
Добавлено в версии 3.1: Поддержка LZMA (7zip).
Добавлено в версии 3.15: Команда теперь продолжает добавлять файлы в архив, даже если некоторые из файлов не читаются. Это поведение более соответствует классическому инструменту
tar. Команда также теперь парсит все флаги, и если был предоставлен неверный флаг, выдаётся предупреждение. -
-
time <command> [<args>...] -
Запустить
<command>и отобразить время выполнения (включая накладные расходы интерфейса CMake).Добавлено в версии 3.5: Команда теперь корректно передаёт аргументы с пробелами или специальными символами в дочерний процесс. Это может нарушить скрипты, которые обходили ошибку с помощью дополнительных приемов цитирования или экранирования.
-
touch <file>... -
Создаёт
<file>если файл не существует. Если<file>существует, изменяются время доступа и изменения<file>.
-
touch_nocreate <file>... -
Обновить файл, если он существует, но не создавать его. Если файл не существует, он будет проигнорирован.
-
true -
Добавлено в версии 3.16.
Не выполнять никаких действий, с кодом выхода 0.
Инструменты командной строки, специфичные для Windows
Следующие cmake -E команды доступны только в Windows:
-
delete_regv <key> -
Удалить значение реестра Windows.
-
env_vs8_wince <sdkname> -
Добавлено в версии 3.2.
Отображает пакетный файл, который устанавливает среду для предоставленного SDK Windows CE, установленного в VS2005.
-
env_vs9_wince <sdkname> -
Добавлено в версии 3.2.
Отображает пакетный файл, который устанавливает среду для предоставленного SDK Windows CE, установленного в VS2008.
-
write_regv <key> <value> -
Записать значение реестра Windows.
Запуск инструмента Find-Package
CMake предоставляет помощник pkg-config для проектов на основе Makefile:
cmake --find-package [<options>]
Он ищет пакет с помощью find_package() и выводит полученные флаги в стандартный вывод. Это можно использовать вместо pkg-config для поиска установленных библиотек в проектах на основе простого Makefile или в проектах на основе autoconf (через share/aclocal/cmake.m4).
Примечание
Этот режим не хорошо поддерживается из-за некоторых технических ограничений. Он сохранён для совместимости, но не должен использоваться в новых проектах.
Запуск предопределённого процесса работы
Добавлено в версии 3.25.
CMake Presets предоставляет способ выполнения нескольких шагов сборки в определённом порядке:
cmake --workflow <options>
Доступны следующие опции:
-
--workflow -
Выберите Предустановку процесса работы с использованием одной из следующих опций.
-
--preset <preset>, --preset=<preset> -
Используйте предустановку рабочего процесса для указания рабочего процесса. Директория двоичных файлов проекта определяется по умолчанию из начальной предустановки конфигурации. Текущая рабочая директория должна содержать файлы предустановок CMake. Подробнее см.
preset.Изменено в версии 3.31: При использовании сразу после опции
--workflow, аргумент--presetможно опустить и указать только имя<preset>. Это означает, что следующий синтаксис допустим:$ cmake --workflow my-preset
-
--list-presets -
Отображает доступные предустановки рабочего процесса. Текущая рабочая директория должна содержать файлы предустановок CMake.
-
--fresh -
Выполнить свежую конфигурацию дерева сборки, что эквивалентно
cmake --fresh.
Просмотр справки
Для печати выбранных страниц из документации CMake используйте
cmake --help[-<topic>]
с одним из следующих параметров:
-
-version [<file>], --version [<file>], /V [<file>] -
Отображает баннер с именем/версией программы и завершает работу. Вывод печатается в именованный
<file>файл, если он указан.
-
-h, -H, --help, -help, -usage, /? -
Выводит информацию об использовании и завершает работу.
Информация об использовании описывает базовый интерфейс командной строки и его параметры.
-
--help <keyword> [<file>] -
Выводит справку по одному ключевому слову CMake.
<keyword>может быть свойством, переменной, командой, политикой, генератором или модулем.Соответствующая запись в руководстве для
<keyword>выводится в удобочитаемом текстовом формате. Вывод печатается в именованный<file>файл, если он указан.Изменено в версии 3.28: До CMake 3.28 этот параметр поддерживал только имена команд.
-
--help-full [<file>] -
Выводит все руководства по справке и завершает работу.
Все руководства выводятся в удобочитаемом текстовом формате. Вывод печатается в именованный
<file>файл, если он указан.
-
--help-manual <man> [<file>] -
Выводит одно руководство по справке и завершает работу.
Указанное руководство выводится в удобочитаемом текстовом формате. Вывод печатается в именованный
<file>файл, если он указан.
-
--help-manual-list [<file>] -
Выводит список доступных руководств по справке и завершает работу.
Список содержит все руководства, для которых справка может быть получена с помощью опции
--help-manualи последующего имени руководства. Вывод печатается в именованный<file>файл, если он указан.
-
--help-command <cmd> [<file>] -
Выводит справку по одной команде и завершает работу.
Запись в руководстве
cmake-commands(7)для<cmd>выводится в удобочитаемом текстовом формате. Вывод печатается в именованный<file>файл, если он указан.
-
--help-command-list [<file>] -
Выводит список команд со справкой и завершает работу.
Список содержит все команды, для которых справка может быть получена с помощью опции
--help-commandи последующего имени команды. Вывод печатается в именованный<file>файл, если он указан.
-
--help-commands [<file>] -
Выводит руководство cmake-commands и завершает работу.
Руководство
cmake-commands(7)выводится в удобочитаемом текстовом формате. Вывод печатается в именованный<file>файл, если он указан.
-
--help-module <mod> [<file>] -
Выводит справку по одному модулю и завершает работу.
Запись в руководстве
cmake-modules(7)для<mod>выводится в удобочитаемом текстовом формате. Вывод печатается в именованный<file>файл, если он указан.
-
--help-module-list [<file>] -
Выводит список модулей со справкой и завершает работу.
Список содержит все модули, для которых справка может быть получена с помощью опции
--help-moduleи последующего имени модуля. Вывод печатается в именованный<file>файл, если он указан.
-
--help-modules [<file>] -
Выводит руководство cmake-modules и завершает работу.
Руководство
cmake-modules(7)выводится в удобочитаемом текстовом формате. Вывод печатается в именованный<file>файл, если он указан.
-
--help-policy <cmp> [<file>] -
Выводит справку по одной политике и завершает работу.
Запись в руководстве
cmake-policies(7)для<cmp>выводится в удобочитаемом текстовом формате. Вывод печатается в именованный<file>файл, если он указан.
-
--help-policy-list [<file>] -
Выводит список политик со справкой и завершает работу.
Список содержит все политики, для которых справка может быть получена с помощью опции
--help-policyи последующего имени политики. Вывод печатается в именованный<file>файл, если он указан.
-
--help-policies [<file>] -
Выводит руководство cmake-policies и завершает работу.
Руководство
cmake-policies(7)выводится в удобочитаемом текстовом формате. Вывод печатается в именованный<file>файл, если он указан.
-
--help-property <prop> [<file>] -
Выводит справку по одному свойству и завершает работу.
Записи в руководстве
cmake-properties(7)для<prop>выводятся в удобочитаемом текстовом формате. Вывод печатается в именованный<file>файл, если он указан.
-
--help-property-list [<file>] -
Выводит список свойств со справкой и завершает работу.
Список содержит все свойства, для которых справка может быть получена с помощью опции
--help-propertyи последующего имени свойства. Вывод печатается в именованный<file>файл, если он указан.
-
--help-properties [<file>] -
Выводит руководство cmake-properties и завершает работу.
Руководство
cmake-properties(7)выводится в удобочитаемом текстовом формате. Вывод печатается в именованный<file>файл, если он указан.
-
--help-variable <var> [<file>] -
Выводит справку по одной переменной и завершает работу.
Запись в руководстве
cmake-variables(7)для<var>выводится в удобочитаемом текстовом формате. Вывод печатается в именованный<file>файл, если он указан.
-
--help-variable-list [<file>] -
Выводит список переменных со справкой и завершает работу.
Список содержит все переменные, для которых справка может быть получена с помощью опции
--help-variableи последующего имени переменной. Вывод печатается в именованный<file>файл, если он указан.
-
--help-variables [<file>] -
Выводит руководство cmake-variables и завершает работу.
Руководство
cmake-variables(7)выводится в удобочитаемом текстовом формате. Вывод печатается в именованный<file>файл, если он указан.
Для просмотра предустановок, доступных для проекта, используйте
cmake <source-dir> --list-presets
Возвращаемое значение (код завершения)
При нормальном завершении исполняемый файл cmake возвращает код завершения 0.
Если завершение вызвано командой message(FATAL_ERROR) или другой ошибкой, возвращается ненулевой код завершения.
См. также
Для получения помощи по использованию CMake доступны следующие ресурсы:
- Главная страница
-
Основная точка входа для ознакомления с CMake.
- Онлайн-документация и ресурсы сообщества
-
https://cmake.org/documentation
Ссылки на доступную документацию и ресурсы сообщества можно найти на этой веб-странице.
- Форум Discourse
-
Форум Discourse предоставляет форум для обсуждения и вопросов по CMake.
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.31/manual/cmake.1.html