상세 컨텐츠

본문 제목

[CMAKE] execute_process()

cmake

by 빨간눈동자 2024. 6. 29. 10:21

본문

반응형

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' 카테고리의 다른 글

[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

관련글 더보기