Camke 学习笔记(二)常用命令

常用命令

以Windows为例,对应VS相应设置选项

命令作用
project设置解决方案名称
SET设置参数,不管是预定义参数,还是自定义参数
ADD_EXECUTABLE生成可执行文件工程
ADD_LIBRARY生成库工程(lib/dll)
AUX_SOURCE_DIRECTORY收集目录里的所有文件名并赋值给变量
INCLUDE_DIRECTORIES包含的头文件路径,相当于附加包含目录
LINK_DIRECTORIES包含的库文件路径,相当于附加库目录,有说尽量使用FIND_LIBRARY,原因还不知道
TARGET_LINK_LIBRARIES对单个目标设置依赖项
LINK_LIBRARIES对所有设置依赖项
ADD_DEPENDENCIES项目依赖项
ADD_DEFINITIONS相当于VS设置预编译头,在不改代码的情况下,进行宏开关的,也可以设置编译参数 -wall等
MESSAGE打印log信息
STRING字符串操作,可用正则表达式等
LIST列表操作
FILE文件操作
INSTALL??????
EXEC_PROGRAM执行外部程序
  • LIST指令操作
	list(LENGTH <list><output variable>)
    list(GET <list> <elementindex> [<element index> ...]<output variable>)
    list(APPEND <list><element> [<element> ...])
    list(FIND <list> <value><output variable>)
    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>)
LIST指令作用
LENGTH返回list的长度
GET返回list中index的element到value中
LENGTH返回list的长度
APPEND添加新element到list中
FIND返回list中element的index,没有找到返回-1
INSERT将新element插入到list中index的位置
REMOVE_ITEM从list中删除某个element
REMOVE_AT从list中删除指定index的element
REMOVE_DUPLICATES从list中删除重复的element
REVERSE将list的内容反转
SORT从list中删除重复的element
  • FIND类的指令,后续再说

FIND_FILE,FIND_PATH,FIND_LIBRARY,FIND_PROGRAM,FIND_PACKAGE

CMAKE_INCLUDE_PATH:如果不使用 FIND_FILE 和 FIND_PATH的话,CMAKE_INCLUDE_PATH,没有任何作用。

CMAKE_LIBRARY_PATH:配合 FIND_LIBRARY() 使用。否则没有任何作用
CMAKE_MODULE_PATH:配合 FIND_PACKAGE()使用

  • Cmake的语法, 以#为注释
  • 字符串列表,用;或者空格分割 A;B;C

可以把它当成变成语言,可以有if等变成语言

IF()…ELSE()/ELSEIF()…ENDIF()
WHILE()…ENDWHILE()
FOREACH()…ENDFOREACH()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值