Как установить глобальную переменную в функции для cmake?

Я пишу CMakeLists.txt, чтобы сгенерировать файлы и скомпилировать сгенерированные файлы. Я создаю функцию для добавления некоторых строк пути к файлу в глобальную переменную списка.

Мой CMakeLists.txt:

set(source_list "nothing")
function(test file_path)
    list(APPEND source_list ${file_path})
endfunction(test)
test(abc.txt)
test(def.txt)
message("At last, the source_list is:\"${source_list}\"")

Вывод cmake:

At last, the source_list is:"nothing"

Кто-то предложил использовать макрос вместо функции, но мне нужно использовать локальную переменную, поэтому мне нужно использовать функцию вместо макроса.

Как правильно установить глобальную переменную source_list в функции test ()? Может ли сделать это простым и нормальным способом?