- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
cblock@126.com 纸上得来终觉浅 绝知此事要躬亲
CMake 语法简介
CMake 特点
1. 在每个源码目录下都有一个CMakeLists.txt.
2. CMake 语句不区分大小写。一句一行,无行结束符号,注释用#
3. CMake 实际也是一种编程语言。CMake 根据CMakeLists.txt 自动生成Makefile.
4. CMake 比Autotools 更简单明了
CMake 语法
语法规则
1. 变量使用${}方式取值,但是在IF 语句中是直接使用变量名取值
MESSAGE(STATUS “This is bin dir”$(PROJECT_BINARY_DIR))
MESSAGE(STATUS “This is bin dir $(PROJECT_BINARY_DIR)”)
上面两句等效。
2. 指令(参数1 参数2 …),参数之间用空格或分号隔开。
SET( SRC_LIST main.cpp hello.cpp)
SET(SRC_LIST “main.cpp”“hello.cpp”)
SET(SRC_LIST “main.cpp”;“hello.cpp”)
3. 内部构建和外部构建:在哪个目录下执行cmake 命令,则在哪个目录构建
In-source:编译过程文件和源码文件在同一目录下面(在工程目录下cmake)
Out-of-sourc:将编译目录和源码目录分割开(在非工程目录下cmake) 。
4. 常用变量及指令
CMake 变量
序号 语句 注释
1 PROJECT_BINARY_DIR、PROJECT_SOURCE_DIR 工程目标文件目录
CMAKE_BINARY_DIR、CMAKE_SOURCE_DIR 工程源文件目录
2 CMAKE_CURRENT_BINARY_DIR 指当前处理的CMakeLists.txt 所在
CMAKE_CURRENT_SOURCE_DIR 的路径。
3 CMAKE_CURRENT_LIST_FILE 输出调用这个变量的
CMAKE_CURRENT_LIST_LINE CMakeLists.txt 的路径及行号
4 project name_BINARY_DIR project name 工程目标文件
project name_SOURCE_DIR project name 源目标文件
5 EXECUTABLE_OUTPUT_PATH 最终目标二进制文件存放目录
6 LIBRARY_OUT_PATH 最终目标库文件存放目录
7 CMAKE_INSTALL_PREFIX 目标文件安装目录,默认目录为
/usr/local/bin
8 CMAKE_MODULE_PATH 定义自己的CMake 模块所在路径
cblock@126.com 纸上得来终觉浅 绝知此事要躬亲
9 PROJECT_NAME 返回通过PROJECT 指令定义的值
10 CMAKE_INCLUDE_CURRENT_DIR 自动添加
CMAKE_CURRE
文档评论(0)