CMake -语法摘要

参见《CMake practice》

基本语法
  • PROJECT指令的语法:
    PROJECT(projectname [CXX] [C] [Java])
    
    • projectname 即工程名
    • 支持的语言列表可忽略
    • 生成了两个变量 <projectname>_BINARY_DIR、_SOURCE_DIR、PROJECT_BINARY_DIR、PROJECT_SOURCE_DIR,在外部编译时会不一样
  • SET指令的语法
    SET(VAR [VALUE] [CACHE TYPE DOCSTRING [FORCE]])
    如:SET(SRC_LIST main.c t1.c t2.c)
    
    • 来显式的定义变量
  • MESSAGE指令的语法
    MESSAGE([SEND_ERROR | STATUS | FATAL_ERROR] "message to display"...)
    
    • SEND_ERROR,产生错误,生成过程被跳过
    • SATUS,输出前缀为—的信息
    • FATAL_ERROR,立即终止所有cmake过程.
  • ADD_EXECUTABLE
    • 定义将生成的可执行文件及源文件
  • ADD_SUBDIRECTORY
    ADD_SUBDIRECTORY(source_dir [binary_dir] [EXCLUDE_FROM_ALL])
    如:ADD_SUBDIRECTORY(src bin)
    
    • 添加存放源文件的子目录,并可以指定中间二进制和目标二进制存放的位置
    • EXCLUDE_FROM_ALL参数的含义是将这个目录从编译过程中排除
    • 例子表示添加源文件目录src,并把生成的可执行文件放到构建目录的bin文件夹下

说明
  • 变量使用${}方式取值,但是在IF控制语句中是直接使用变量名
  • 参数之间可用空格或分号分隔
  • 指令是大小写无关的,参数和变量是大小写相关的
  • 文件名含空格可用双引号,如"fu nc.c"
  • 可以忽略掉source列表中的源文件后缀

https://vdisk.weibo.com/wap/s/AcSJGKVz_Xj7w?category_id=2&parents_ref=AcSJGKVz_X6Sx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值