随笔分类 - [02]【CMake】
1
摘要:目录C++访问跨模块类中静态成员变量0. 结论1. 示例1.1 文件结构1.2 文件内容1.2.1 工程CMakeLists.txt1.2.2 模块库(libs)1.2.2.1 模块库CMakeLists.txt1.2.2.2 公共模块(common)1.2.2.3 模块A(module_a)1.2
阅读全文
摘要:CMake语法—内置变量 1 CMake变量分类 1.1 普通变量 详情可参见随笔《普通变量与函数》、《普通变量与子目录》、《普通变量与包含、宏》 1.2 缓存变量 详情可参见随笔《缓存变量》 1.3 环境变量 详情可参见随笔《环境变量》 1.4 内置变量 2 CMake内置变量分类 2
阅读全文
摘要:CMake语法—命令list 1 list操作列表 Reading list(LENGTH <list> <out-var>) list(GET <list> <element index> [<index> ...] <out-var>) list(JOIN <list> <glue> <out-
阅读全文
摘要:CMake语法—调用顺序(calling sequence) 1 示例代码 2 代码结构 learn_cmake:为根目录 CMakeLists.txt:CMake主脚本 cmake_config.bat:执行CMake配置过程的脚本(双击直接运行) @echo off set currentDir
阅读全文
摘要:CMake语法—打印帮助(CMakePrintHelpers) 1 CMakePrintHelpers 1.1 cmake_print_variable 1.1.1 定义 cmake_print_variables(var1 var2 .. varN) 1.1.2 说明 打印每个变量值 1.2 cm
阅读全文
摘要:CMake语法—选项(option) 1 选项 1.1 定义 option(<variable> "<help_text>" [value]) 1.2 说明 variable 选项名 help_text 描述、解释、备注 value 选项初始化值(除ON而外全为OFF) 2 应用注意事项 2.1 代
阅读全文
摘要:CMake语法—流程控制(if-foreach-while) 1 流程控制 1.1 代码结构 learn_cmake:为根目录 build:为CMake配置输出目录(在此例中即生成sln解决方案的地方) cmake_config.bat:执行CMake配置过程的脚本(双击直接运行) CMakeLis
阅读全文
摘要:CMake语法—宏和函数(macro vs function) 1 宏macro定义与应用 macro(<name> [<arg1> ...]) <commands> endmacro() macro:宏关键字 name:宏名称 arg1:宏参数 宏的定义与使用方式与函数相同,可参考随笔进行简单理解
阅读全文
摘要:CMake语法—环境变量(Environment Variable) 1 定义环境变量 set(ENV{<variable>} [<value>]) ENV:环境变量标志性前缀 variable:变量名称 value:变量值 2 应用环境变量 2.1 代码结构 learn_cmake:为根目录 bu
阅读全文
摘要:CMake语法—缓存变量(Cache Variable) 1 CMake缓存变量 Normal Variable,普通变量,相当于一个局部变量。在同一个CMake工程中使用,会有作用域限制或区分。 Cache Variable,缓存变量,相当于一个全局变量。在同一个CMake工程中任何地方都可以使用
阅读全文
摘要:CMake语法—普通变量与包含、宏(Normal Variable And Include、Macro) 1 CMake普通变量与包含、宏示例 1.1 代码目录结构 learn_cmake:为根目录(即父目录) build:为CMake配置输出目录(在此例中即生成sln解决方案的地方) cmake_
阅读全文
摘要:CMake语法—普通变量与子目录(Normal Variable And Subdirectory) 1 CMake普通变量与子目录示例 1.1 代码目录结构 learn_cmake:为根目录(即父目录) build:为CMake配置输出目录(在此例中即生成sln解决方案的地方) cmake_con
阅读全文
摘要:CMake语法—普通变量与函数(Normal Variable And Function) 1 CMake普通变量与函数示例 1.1 CMakeLists.txt cmake_minimum_required(VERSION 3.18) # 设置工程名称 set(PROJECT_NAME KAIZE
阅读全文
摘要:CMake语法—函数(解析参数 PARSE_ARGV) 1 CMake函数解析参数PARSE_ARGV示例 1.1 CMakeLists.txt cmake_minimum_required(VERSION 3.18) # 设置工程名称 set(PROJECT_NAME KAIZEN) # 设置工程
阅读全文
摘要:CMake语法—函数(解析参数) 1 CMake函数解析参数示例 1.1 CMakeLists.txt cmake_minimum_required(VERSION 3.18) # 设置工程名称 set(PROJECT_NAME KAIZEN) # 设置工程版本号 set(PROJECT_VERSI
阅读全文
摘要:CMake语法—函数(简单参数) 1 CMake函数简单参数示例 1.1 CMakeLists.txt cmake_minimum_required(VERSION 3.18) # 设置工程名称 set(PROJECT_NAME KAIZEN) # 设置工程版本号 set(PROJECT_VERSI
阅读全文
摘要:Modern CMake 随笔目录 【0】CMake官网 CMake官网 【1】基础部分 CMake语法—函数(定义&调用) CMake语法—函数(简单参数) CMake语法—函数(解析参数) CMake语法—函数(解析参数 PARSE_ARGV) CMake语法—普通变量与函数(Normal Va
阅读全文
摘要:CMake语法—函数(定义&调用) 1 CMake函数定义与调用示例 1.1 CMakeLists.txt cmake_minimum_required(VERSION 3.18) # 设置工程名称 set(PROJECT_NAME KAIZEN) # 设置工程版本号 set(PROJECT_VER
阅读全文
摘要:【1】CMake基础 CMake是一种跨平台编译工具 CMake主要是编写CMakeLists.txt文件 通过cmake命令将CMakeLists.txt文件转化为make所需的Makefile文件 再用make命令编译源代码生成可执行程序或库文件 【2】示例工程 (1)项目结构 build目录
阅读全文
摘要:【1】问题现象 cmake发生异常:如下图所示 【2】问题分析 Centos6 上使用Cmake出现错误 "No CMAKE_CXX_COMPILER could be found." 导致错误原因:cmake找不到对应的编译器!!! 【3】解决方案 sudo yum install gcc-c++
阅读全文
1