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 -
Если вызов функции охватывает несколько строк, это поле будет установлено в строку, где вызов функции заканчивается. Если вызов функции занимает одну строку, это поле будет отсутствовать. Это поле было добавлено в малой версии 2 формата
json-v1. -
defer -
Необязательный член, присутствующий, когда вызов функции был отложен командой
cmake_language(DEFER). Если присутствует, его значение — строка, содержащая отложенный вызов<id>. -
cmd -
Имя функции, которая была вызвана.
-
args -
Список строк всех параметров функции.
-
time -
Отметка времени (секунды с начала эпохи) вызова функции.
-
frame -
Глубина кадра стека вызываемой функции в контексте текущего обрабатываемого
CMakeLists.txt. -
global_frame -
Глубина кадра стека вызываемой функции, отслеживаемая глобально по всем файлам
CMakeLists.txt, участвующим в отслеживании. Это поле было добавлено в малой версии 2 формата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-массив, содержащий ноль или более поддерживаемых запросов к файловой 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: Теперь можно вывести стандартный ввод, передав аргумент
-. -
-
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изменяет поведение, возвращая код выхода 0 (т.е. успех) в таких ситуациях. Используйте--, чтобы прекратить интерпретацию опций и обработать все оставшиеся аргументы как пути, даже если они начинаются с-.
-
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.
Запуск инструмента поиска пакетов
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/latest/manual/cmake.1.html