如何将 CMake 列表作为集合进行操作?



在CMake中,列表被广泛使用。有时你有两个项目列表(基本上是字符串(,你想考虑它们的交集、差异或联合。就像在这种情况下,我刚刚出现。

如何生成此类交集、差异或并集列表?

注意:输出不需要重复,输入不是真的

假设我们的列表位于变量ST中。

对于工会,请写:

list(APPEND union_list ${S} ${T})
list(REMOVE_DUPLICATES union_list)

对于集合差,请写:

list(APPEND S_minus_T ${S})
list(REMOVE_ITEM S_minus_T ${T})

然后我们使用一些集合恒等式,通过对称差分得到交集:

S∩T = (S∪T(
  • ∖ (S∆T(
  • S∆T = (S∖T(
  • ∪ (T\S(

最新更新