gpt4 book ai didi

cmake - 使用 CMake 检查列表是否包含特定条目的最佳方法

转载 作者:行者123 更新时间:2023-12-03 08:18:11 26 4
gpt4 key购买 nike

我想检查列表是否包含特定条目,如以下代码片段中所示:

macro(foo)
if ($(ARGN} contains "bar")
...
endif
endmacro()

CMake 不提供 contains .获得所需结果的最佳/最简单方法是什么?

在 CMake 的 wiki我找到了一个 LIST_CONTAINS 宏,但是维基页面已经过时了。这仍然是最好的方法还是 CMake 获得了新功能?

最佳答案

对于 CMake 3.3 或更高版本,if命令支持 IN_LIST operator ,例如:

if ("bar" IN_LIST _list)
...
endif()

对于旧版本的 CMake,您可以使用内置的 list(FIND)功能:
list (FIND _list "bar" _index)
if (${_index} GREATER -1)
...
endif()

关于cmake - 使用 CMake 检查列表是否包含特定条目的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23323147/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com