随笔分类 - 项目构建CMake/makefile
C/C++项目构建工具CMake,makefile,学习、总结
摘要:Makefile基础 Makefile规则与示例 简单的Makefile文件 一个简单的Makefile文件包含的一系列“规则”: 目标(target) ... : 依赖(prerequiries) ... <tab>命令(command) 如果“依赖文件”比“目标文件”更加新,那么执行“命令”来重
阅读全文
摘要:generate_export_header简介 generate_export_header()用于为library export宏定义。生成一个适用于预处理的文件,包含用在library中的EXPORT宏定义。 适用场景:假设我们用了一个自定义library,为避免跟用到的其他库重名,但又不得不
阅读全文
摘要:include_directories 将指定目录添加到编译器的头文件搜索路径之下,指定的目录被解释成当前源码路径的相对路径。 语法格式: include_directories ([AFTER|BEFORE] [SYSTEM] dir1 [dir2 ...]) 默认情况下,include_dire
阅读全文
摘要:CMake调用环境变量 查看环境变量 使用$ENV{NAME}指令,例如, message(STATUS "HOME dir: $ENV{HOME}") 设置环境变量 使用set函数 + ENV指令 set(ENV{变量名} 值) 注意: 1)读环境变量时,需要加上$;写环境变量时,不需要加$。 2
阅读全文
摘要:configure_file简介 configure_file 将文件复制到另一个位置并修改其内容。该命令将<input>文件复制到<output>文件,并根据指定规则对其内容进行转换。 configure_file(<input> <output> [NO_SOURCE_PERMISSIONS |
阅读全文
摘要:git submodule应用 开发软件时,自己开发的某个项目/模块可能依赖于其他模块或第三方库。自己那部分代码是一个独立代码仓库,并不想把依赖的模块或第三方库直接放到代码库中,但是本地编译的时候又需要用到。此时,希望在本地能实现自动将依赖的模块或第三方库拉取到项目指定目录中。 这里介绍一种适用于g
阅读全文