Spec-Zone.ru › CMake 3.6

execute_process

Выполнение одного или нескольких дочерних процессов.

execute_process(COMMAND <cmd1> [args1...]]
                [COMMAND <cmd2> [args2...] [...]]
                [WORKING_DIRECTORY <directory>]
                [TIMEOUT <seconds>]
                [RESULT_VARIABLE <variable>]
                [OUTPUT_VARIABLE <variable>]
                [ERROR_VARIABLE <variable>]
                [INPUT_FILE <file>]
                [OUTPUT_FILE <file>]
                [ERROR_FILE <file>]
                [OUTPUT_QUIET]
                [ERROR_QUIET]
                [OUTPUT_STRIP_TRAILING_WHITESPACE]
                [ERROR_STRIP_TRAILING_WHITESPACE])

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

Параметры:

COMMAND

Командная строка дочернего процесса.

CMake выполняет дочерний процесс, напрямую используя API операционной системы. Все аргументы передаются В ТОЧНОМ ВИДЕ дочернему процессу. Промежуточный оболочка не используется, поэтому операторы оболочки, такие как > рассматриваются как обычные аргументы. (Используйте параметры INPUT_*, OUTPUT_*, и ERROR_* для перенаправления stdin, stdout и stderr.)

WORKING_DIRECTORY
Указанный каталог будет установлен в качестве текущего каталога работы дочерних процессов.
TIMEOUT
Дочерние процессы будут завершены, если они не завершатся в течение указанного числа секунд (разрешены дроби).
RESULT_VARIABLE
Переменная будет содержать результат выполнения процессов. Это будет целочисленный код возврата последнего дочернего процесса или строка, описывающая ошибку.
OUTPUT_VARIABLE, ERROR_VARIABLE
Переменная с указанным именем будет установлена с содержимым труб стандартного вывода и стандартной ошибки соответственно. Если одно и то же имя переменной указано для обеих труб, их вывод будет объединён в порядке вывода.
INPUT_FILE, OUTPUT_FILE, ERROR_FILE
Указанный файл будет подключён к стандартному вводу первого процесса, стандартному выводу последнего процесса или стандартной ошибке всех процессов соответственно. Если один и тот же файл указан как для вывода, так и для ошибки, он будет использоваться для обоих.
OUTPUT_QUIET, ERROR_QUIET
Результаты стандартного вывода или стандартной ошибки будут тихо проигнорированы.

Если для одной и той же трубы задано более одного параметра OUTPUT_* или ERROR_*, приоритет не определён. Если не заданы параметры OUTPUT_* или ERROR_*, вывод будет общим с соответствующими трубами процесса CMake.

Команда execute_process() — это более новая и мощная версия команды exec_program(), но старая команда сохранена для совместимости. Обе команды выполняются во время обработки проекта CMake перед генерацией системы сборки. Используйте add_custom_target() и add_custom_command() для создания пользовательских команд, выполняемых во время сборки.

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

Spec-Zone.ru

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