cmake
함수와 매크로
수색…
비고
매크로 및 기능 사이의 주요한 차이는 기능이 현재 하나에 새로운 범위를 열 때 매크로 현재 컨텍스트 내에서 평가되는 것이다. 따라서 함수 가 정의 된 후에는 함수 내에 정의 된 변수를 알 수 없습니다. 반대로 매크로 내의 변수는 매크로가 평가 된 후에도 정의됩니다.
입력을 기반으로 변수를 정의하는 단순 매크로
macro(set_my_variable _INPUT)
if("${_INPUT}" STREQUAL "Foo")
set(my_output_variable "foo")
else()
set(my_output_variable "bar")
endif()
endmacro(set_my_variable)
매크로 사용 :
set_my_variable("Foo")
message(STATUS ${my_output_variable})
인쇄 할 것이다.
-- foo
동안
set_my_variable("something else")
message(STATUS ${my_output_variable})
인쇄 할 것이다.
-- bar
주어진 이름의 변수를 채우기위한 매크로
macro(set_custom_variable _OUT_VAR)
set(${_OUT_VAR} "Foo")
endmacro(set_custom_variable)
함께 사용
set_custom_variable(my_foo)
message(STATUS ${my_foo})
어떤 것이 인쇄 될 것인가?
-- Foo
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow