cmake (2)指令说明
生活随笔
收集整理的这篇文章主要介绍了
cmake (2)指令说明
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
1. 语法规则
- 变量使用${}方式取值,但是在 IF 控制语句中是直接使用变量名
- 指令(参数 1 参数 2…)
- 参数使用括弧括起,参数之间使用空格或分号分开。
eg. 以 ADD_EXECUTABLE 为例,如果存在另外一个 func.c 源文件,可写成:
ADD_EXECUTABLE(hello main.c func.c)或者
ADD_EXECUTABLE(hello main.c;func.c) - 指令是大小写无关的,参数和变量是大小写相关的
1.1 项目名称PROJECT()
这个指令隐式的定义了两个 cmake 变量:
_BINARY_DIR 以及_SOURCE_DIR,
PROJECT_BINARY_DIR 和 PROJECT_SOURCE_DIR变量,他们的值分别跟 HELLO_BINARY_DIR 与 HELLO_SOURCE_DIR 一致
eg.
PROJECT(HELLO) #项目名称 会引入两个变量: HELLO_BINARY_DIR, HELLO_SOURCE_DIR 同时也会定义两个等价的变量: PROJECT_BINARY_DIR, PROJECT_SOURCE_DIR因为采用的是内部编译,两个变量目前指的都是工程所在路径/backup/cmake/t1,
1.2. 加入文件 AUX_SOURCE_DIRECTORY()
eg.
#把当前目录(.)下所有源代码文件和头文件加入变量SRC_LIST
AUX_SOURCE_DIRECTORY(. SRC_LIST)
1.3. set 指令用来显式定义变量
SET 指令的语法是:
SET(VAR [VALUE] [CACHE TYPE DOCSTRING [FORCE]])
现阶段,你只需要了解 SET。
eg. 我们用到的是 SET(SRC_LIST main.c),如果有多个源文件,也可以定义成:
SET(SRC_LIST main.c t1.c t2.c)
1.4. message
MESSAGE([SEND_ERROR | STATUS | FATAL_ERROR] “message to display”…)
这个指令用于向终端输出用户定义的信息,包含了三种类型:
- SEND_ERROR 产生错误,生成过程被跳过。
- SATUS 输出前缀为—的信息
- FATAL_ERROR 立即终止所有 cmake 过程
总结
以上是生活随笔为你收集整理的cmake (2)指令说明的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: std::get(std::tuple)
- 下一篇: cmake (2)build方面的指令