[英]How do I get the last element of a CMake list of unknown length?
我有一個未知長度的列表,其中包含字符串。 我想將倒數第二個項目與倒數第二個項目進行比較,但是我找不到一種簡單的方法來檢索這些元素,因此可以對它們進行比較。
我嘗試獲取列表的長度,然后使用(length-1)作為傳遞給列表GET
函數的索引,但這似乎不起作用。
set(my_list a b c) # I don't actually know the length of the original list
list(LENGTH my_list list_len)
list(GET my_list (list_len-1) last_item) # doesn't work
我希望將元素c
保存在last_item
變量中,但它仍然為空。 在CMake中執行此操作的正確方法是什么?
您必須使用math
才能執行數學運算。
list(LENGTH my_list list_len)
math(EXPR list_last "${list_len} - 1")
list(GET my_list ${list_last} last_item)
編輯 :可以使用負數從列表末尾獲取元素,可以使用-1來獲取列表的最后一項:
list(GET my_list -1 last_item)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.