默認列表,CMake的輸出無定界符列表,如CMake的:輸出帶分隔符
set(my_list a b c d)
message(${my_list})
輸出
abcd
你怎麼能(輕鬆)使CMake的輸出像什麼實際存儲?
a;b;c;d
(A典型的使用情況是用於輸出的搜索路徑的列表)
默認列表,CMake的輸出無定界符列表,如CMake的:輸出帶分隔符
set(my_list a b c d)
message(${my_list})
輸出
abcd
你怎麼能(輕鬆)使CMake的輸出像什麼實際存儲?
a;b;c;d
(A典型的使用情況是用於輸出的搜索路徑的列表)
括在引號中的解除引用的變量。
set(my_list a b c d)
message("${my_list}")
輸出
a;b;c;d
你可以寫一個函數用分隔符的加入列表的物品放在一起,然後打印出該代替。例如,這樣的功能:
function (ListToString result delim)
list(GET ARGV 2 temp)
math(EXPR N "${ARGC}-1")
foreach(IDX RANGE 3 ${N})
list(GET ARGV ${IDX} STR)
set(temp "${temp}${delim}${STR}")
endforeach()
set(${result} "${temp}" PARENT_SCOPE)
endfunction(ListToString)
然後,你可以使用它像這樣:
set(my_list a b c d)
ListToString(str ", " ${my_list})
message(STATUS "${str}")
,輸出:
a, b, c, d
你有沒有參數名稱倒退? –
感謝。輸出到文件時也是如此。我希望事情在文檔中得到更好的解釋... – Antonio