Просто используйте 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})