Jak ustawić zmienną globalną w funkcji dla cmake?

Piszę CMakeLists.txt, aby wygenerować pliki i skompilować wygenerowane pliki. Tworzę funkcję dodawania łańcuchów ścieżek do globalnej zmiennej listy.

Mój CMakeLists.txt:

<code>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}\"")
</code>

Wyjście cmake:

<code>At last, the source_list is:"nothing"
</code>

Ktoś zasugerował użycie makra zamiast funkcji, ale potrzebuję użyć zmiennej lokalnej, więc muszę użyć funkcji zamiast makra.

Jak mogę poprawnie ustawić globalną zmienną lista_źródeł w teście funkcji ()? Czy cmake nie może tego zrobić w prosty i normalny sposób?

questionAnswers(4)

yourAnswerToTheQuestion