CMake: как изменить переменную внутри функции - PullRequest
0 голосов
/ 13 ноября 2018

Как лучше всего изменять переменную вызывающего изнутри функции CMake. Предположим

function(MyFunction IN_OUT_NAME)

   ... what to do here ...

   string(APPEND ${IN_OUT_NAME} " and that")

   ... what to do here ...

endfunction()

Что нужно сделать, чтобы следующий фрагмент кода

set(MY_MESSAGE "this")
MyFunction(MY_MESSAGE)
message(${MY_MESSAGE})

обеспечивает

this and that

Не-а-дублированных замечания:

1 Ответ

0 голосов
/ 13 ноября 2018

Просто используйте PARENT_SCOPE для экспорта значения в родительскую область.

function(MyFunction IN_OUT_NAME)
   string(APPEND ${IN_OUT_NAME} " and that")
   set(${IN_OUT_NAME} "${${IN_OUT_NAME}}" PARENT_SCOPE)
endfunction()

set(MY_MESSAGE "this")
MyFunction(MY_MESSAGE)
message(${MY_MESSAGE})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...