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

©️2020 CSDN 皮肤主题: 黑客帝国 设计师:上身试试 返回首页