CMake学习记录--list(列表操作命令)

摘要:
CMake是一个跨平台的工程管理工具,能方便的把工程转换为vs各个版本、BorlandMakefiles、MSSYSMakefiles、NMakeMakefiles等工程,对于经常在不同IDE下使用管理同一个工程提供了很大的便利。自己把使用过程中的点点滴滴记录下来。

CMake是一个跨平台的工程管理工具,能方便的把工程转换为vs各个版本、Borland Makefiles、MSSYS Makefiles、NMake Makefiles等工程,对于经常在不同IDE下使用管理同一个工程提供了很大的便利。自己把使用过程中的点点滴滴记录下来。

list列表操作命令。

1、 list(LENGTH <list> <output variable>)

2、 list(GET <list> <element index> [<element index> ...] <output variable>)
3、 list(APPEND <list> <element> [<element> ...])
4、 list(FIND <list> <value> <output variable>)

例:(摘自WebKit-r169998的cmakliset文件)

  1. #-----------------------------------------------------------------------------
  2. #Determinewhichportwillbebuilt
  3. #-----------------------------------------------------------------------------
  4. #定义ALL_PORTS
  5. set(ALL_PORTSEflWinCEGTK)
  6. set(PORT"NOPORT"CACHESTRING"choosewhichWebKitporttobuild(oneof${ALL_PORTS})")
  7. set(PORTGTK)
  8. #在ALL_PORTS中查找${PORT}=="GTK",并返回在ALL_PORTS之中的索引RET
  9. list(FINDALL_PORTS${PORT}RET)
  10. if(${RET}EQUAL-1)
  11. message(FATAL_ERROR"PleasechoosewhichWebKitporttobuild(oneof${ALL_PORTS})")
  12. endif()

list(INSERT <list> <element_index> <element> [<element> ...])
  list(REMOVE_ITEM <list> <value> [<value> ...])
  list(REMOVE_AT <list> <index> [<index> ...])
  list(REMOVE_DUPLICATES <list>)
  list(REVERSE <list>)
  list(SORT <list>)

免责声明:文章转载自《CMake学习记录--list(列表操作命令)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇python 文件操作Java IO:BIO和NIO差别及各自应用场景下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

多级菜单查询

需求一:这种不需要传任何参数 一、数据库存储的菜单结 parentid为0的都是根节点,也就是一级菜单,后面的子菜单的parentid为父菜单的ID。 二、MenuDTO类(菜单类)的结构: @Date public class MenuDTO { private Integer id; private String content...

List的输出方法

1、for (int i = 0; i < list.size(); i++) {    System.out.println(list.get(i));} 2、List list = new HashList();Iterator it = list.iterator();while(it.hasNext()){list.next();//返回值是...

java多线程 -- ConcurrentHashMap 锁分段 机制

hashtable效率低ConcurrentHashMap 线程安全,效率高 Java 5.0 在 java.util.concurrent 包中提供了多种并发容器类来改进同步容器 的性能。 ConcurrentHashMap 同步容器类是Java 5 增加的一个线程安全的哈希表。对 与多线程的操作,介于 HashMap 与 Hashtable 之间。内...

.class 字节码文件修改

有个.class文件,用XJad反编译如下: public String int() { String s = null; try{ List list = c.if(a).getNeighboringCellInfo(); if (list != null &...

有关于java中List.add方法进行添加元素,发生覆盖的问题

问题原因:对于List.Add(),如果添加的是基本类型(值),则添加的为值;若添加为引用类型(对象),则添加的为引用的地址。 所以,循环添加时,添加的都是同一个对象引用,对象的成员值改变,List中所有对象的值就改变了。 解决方法:每次在改变值之前重新new一下对象,从而改变存储的引用地址,这样就不会发生元素覆盖。...

内存溢出的定位与分析

概述  内存溢出在实际的生产环境中经常会遇到,比如:不断的将数据写入到一个集合中,出现了死循环,读取超大的文件等等,都可能会造成内存溢出;   如果出现了内存溢出,首先我们需要定位到发生内存溢出的环节,并且进行分析,是正还是非正常情况,如果是正常的需求,就应该考虑加大内存的设置,如果是非正常需求,那么就要对代码进行修改,修改这个bug;   首先,我们要先...