execute_process() 명령어는 외부 명령이나 프로그램을 실행하고, 그 결과를 캡처하는데 사용된다.
execute_process(COMMAND <cmd> [<args>...]
[WORKING_DIRECTORY <dir>]
[TIMEOUT <seconds>]
[RESULT_VARIABLE <var>]
[OUTPUT_VARIABLE <output_var>]
[ERROR_VARIABLE <error_var>]
[INPUT_FILE <file>]
[OUTPUT_FILE <file>]
[ERROR_FILE <file>]
[OUTPUT_QUIET]
[ERROR_QUIET]
[RESULTS_VARIABLE <results_var>])
COMMAND <cmd> [<args>...]: 실행할 명령과 그 인수입니다.
WORKING_DIRECTORY <dir>: 명령을 실행할 작업 디렉토리입니다.
TIMEOUT <seconds>: 명령 실행의 최대 시간(초)입니다.
RESULT_VARIABLE <var>: 명령 실행의 결과 상태를 저장할 변수입니다.
OUTPUT_VARIABLE <output_var>: 명령의 표준 출력을 저장할 변수입니다.
ERROR_VARIABLE <error_var>: 명령의 표준 오류 출력을 저장할 변수입니다.
INPUT_FILE <file>: 명령의 표준 입력으로 사용할 파일입니다.
OUTPUT_FILE <file>: 명령의 표준 출력을 저장할 파일입니다.
ERROR_FILE <file>: 명령의 표준 오류 출력을 저장할 파일입니다.
OUTPUT_QUIET: 명령의 표준 출력을 무시합니다.
ERROR_QUIET: 명령의 표준 오류 출력을 무시합니다.
RESULTS_VARIABLE <results_var>: 명령 실행의 결과 상태를 저장할 변수입니다.
execute_process(
COMMAND echo "Hello, World!"
OUTPUT_VARIABLE output
RESULT_VARIABLE result
)
message(STATUS "Output: ${output}")
message(STATUS "Result: ${result}")
execute_process(
COMMAND ls
WORKING_DIRECTORY /tmp
OUTPUT_VARIABLE output
RESULT_VARIABLE result
)
message(STATUS "Output: ${output}")
message(STATUS "Result: ${result}")
execute_process(
COMMAND sleep 5
TIMEOUT 2
RESULT_VARIABLE result
)
file(WRITE input.txt "This is a test input")
execute_process(
COMMAND cat
INPUT_FILE input.txt
OUTPUT_VARIABLE output
RESULT_VARIABLE result
)
message(STATUS "Output: ${output}")
message(STATUS "Result: ${result}")
[CMake] list() (0) | 2024.06.30 |
---|---|
[CMake] foreach() (0) | 2024.06.28 |
[CMAKE] Cache 변수 (0) | 2024.06.27 |
[CMAKE] Cache 변수 (0) | 2024.06.26 |
[CMAKE] include() (0) | 2024.06.26 |