OpeCV3.3.1 的 CMakeLists.txt 的部分注释. # Disable in-source builds to prevent source tree corruption. # @ 解说: # @ 1. in-source 编译就是:不新建build文件夹.那么所有CMAKE生成的东西就都堆在 # @ sources 所在的路径下,这不是很混乱吗.所以禁止. # @ 2. 合理的 cmake 操作: # @ mkdir build # @ cd build # @ cmake…
目录 CMake语法-内置变量 1 CMake变量分类 1.1 普通变量 1.2 缓存变量 1.3 环境变量 1.4 内置变量 2 CMake内置变量分类 2.1 提供信息的变量 2.2 改变行为的变量 2.3 描述系统的变量 2.4 控制构建的变量 2.5 语言变量 2.6 CTest变量 2.7 CPack变量 2.8 内部变量(不推荐再使用) 3 示例代码 3.1 代码结构 3.2 代码 3.3 运行结果 CMake语法-内置变量 1 CMake变量分类 1.1 普通变量 ​ 详情可参见随…
目录 CMake语法-普通变量与函数(Normal Variable And Function) 1 CMake普通变量与函数示例 1.1 CMakeLists.txt 1.2 执行CMake配置脚本 1.3 目录结构 2 运行结果 2.1 环境说明 2.2 运行结果 2.3 结论 2.3.1 定义普通变量方式 2.3.2 variable:表示普通变量名称: 2.3.3 value:表示变量的值列表,value后面有三个点,表示变量的值可以为0或1或n个值 2.3.4 PARENT_SCOPE…
目录 CMake语法-普通变量与子目录(Normal Variable And Subdirectory) 1 CMake普通变量与子目录示例 1.1 代码目录结构 1.2 父目录CMakeLists.txt 1.3 src子目录CMakeLists.txt 1.4 src_parent_scope子目录CMakeLists.txt 1.5 执行CMake配置脚本 2 运行结果 2.1 环境说明 2.2 运行结果 2.3 结论 2.3.1 定义普通变量方式 2.3.2 variable:表示普通…
目录 CMake语法-普通变量与包含.宏(Normal Variable And Include.Macro) 1 CMake普通变量与包含.宏示例 1.1 代码目录结构 1.2 根目录CMakeLists.txt 1.3 根目录test_include_with_macro.cmake 1.4 cmake子目录中的test_include_with_func.cmake 1.5 执行CMake配置脚本 2 运行结果 2.1 环境说明 2.2 运行结果 2.3 结论 2.3.1 定义普通变量方式…
目录 CMake语法-缓存变量(Cache Variable) 1 CMake缓存变量 2 定义缓存变量 2.1 定义格式 2.2 定义示例代码 2.3 运行结果 2.4 小结 3 CMakeCache.txt文件 4 缓存变量在函数(function).宏(macro).子目录(subdirectory).包含模块(include)中应用 4.1 应用示例 4.2 运行结果 4.3 小结 5 缓存变量与普通变量相互转换 5.1 关系示例 5.2 运行结果 5.3 小结 6 通过终端预设缓存变量…
目录 CMake语法-环境变量(Environment Variable) 1 定义环境变量 2 应用环境变量 2.1 代码结构 2.2 示例代码 2.3 运行结果 3 小结 CMake语法-环境变量(Environment Variable) 1 定义环境变量 set(ENV{<variable>} [<value>]) ENV:环境变量标志性前缀 variable:变量名称 value:变量值 2 应用环境变量 2.1 代码结构 learn_cmake:为根目录 build:为…
语法说明 CMakeLists.txt 文件遵循一种简单的语法包括 注释,命令和空格字符.注释使用#符号,从符号开始之后的一行都表示注释.命令包括命令名,左括号,分隔参数的空白字符和右括号.命令既可以是一个内置命令如 add_library,也可以是自定义的宏和函数.输入CMake的源目录是CMakeList.txt文件.这个文件也可以使用include和add_subdirectory命令添加外部输入文件. 所有的空白符号(空格,换行,制表符)除了分隔参数外被忽略.对大多数语言来说,任何加了双…
[语法] 注释  # :       #我是注释 命令语法 COMMAND:    COMMAND(参数1 参数2 ...) 字符串列 A;B;C           //分号分割或空格分隔的值 变量    set(Foo a b c)             // 设置变量 Foo    command(${Foo})     //等价于 command(a b c)    command("${Foo}")  // 等价于 command("a b c")   …
在linux 下进行开发很多人选择编写makefile 文件进行项目环境搭建,而makefile 文件依赖关系复杂,工作量很大,搞的人头很大.常常,写代码,效率才是王道.这里还有自动化的项目构建工具Cmake. cmake 可以将程序员从复杂的makefile 文件中解脱出来.cmake 根据内置的规则和语法来自动生成相关的makefile 文件进行编译,同时还支持静态库和动态库的构建. 具体cmake的介绍和详细语法可以参考: (1)官方资料       http://www.cmake.or…