我正在编写一个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"
有人建议我使用宏而不是函数,但我需要使用局部变量,所以我必须使用函数而不是宏。
如何在函数test()中正确设置全局变量source_list? CMake不能用一种简单正常的方式完成吗?
INTERNAL
暗示FORCE
,这意味着:使用FORCE
选项来覆盖现有条目。 - Ding-Yi Chen