
├── PART1
│ ├── 第1章 CMake快速入门篇
│ │ ├── 1-1 cmake课程介绍
│ │ ├── …
│ │ ├── 1-3 cmake是什么为什么要好的构建工具
│ │ ├── …
│ │ ├── 1-6 cmake工作原理图解分析
│ │ ├── …
│ │ ├── 1-11 fist_cmake第一个CMakeLists.txt示例
│ │ ├── …
│ │ ├── 1-17 cmake静态库xlog跨平台编译windows、lin
│ │ ├── …
│ │ └── 1-20 cmake动态库windows和mac测试
│ ├── 第2章 CMake常用功能
│ │ ├── 2-1 第二章介绍
│ │ ├── …
│ │ ├── 2-6 cmake set变量入门和示例
│ │ ├── …
│ │ ├── 2-10 cmake自动载入项目源码文件
│ │ ├── …
│ │ ├── 2-14 CMake设置输出路径跨平台演示分析
│ │ └── 2-15 cmake add_subdirectory
│ ├── 第3章 CMake主要语法
│ │ ├── 3-1 第三章介绍
│ │ ├── …
│ │ ├── 3-6 cmake cache缓存变量设置
│ │ ├── …
│ │ ├── 3-12 cmake 属性说明set_property
│ │ ├── …
│ │ ├── 3-20 cmake string查找和字串相关处理
│ │ ├── …
│ │ ├── 3-29 cmake macro宏原理接口分析
│ │ ├── …
│ │ └── 3-33 cmake函数和变量的作用域演示
│ ├── 第4章 cmake生成表达式和文件操作
│ │ ├── 4-1 第四章介绍
│ │ ├── 4-2 cmake 生成表达式讲解和应用场景分析
│ │ ├── …
│ │ ├── 4-4 cmake生成表达式的两种调试方法(重要)
│ │ └── …
│ └── 第5章 CMake跨平台c++编译特性设置
│ ├── 5-1 第五章介绍
│ ├── …
│ ├── 5-4 target_link_libraries和属性的原生调
│ ├── …
│ ├── 5-8 cmake动态库的生成版本号符号链接
│ ├── …
│ ├── 5-10 cmake linux下配置Debug和Release
│ ├── 5-11 cmake windows下配置Debug和Releas
│ ├── …
│ └── 5-16 vs的souce_group代码分组显示
└── PART2
├── 第6章 CMake install部署项目
│ ├── 6-1 第六章介绍
│ ├── 6-2 cmake install功能说明和测试项目代码准备
│ ├── …
│ ├── 6-4 cmake install动态静态库和头文件安装路径设置
│ ├── …
│ ├── 6-10 cmake find_package 分析
│ ├── …
│ └── 6-13 多版本自定义package共存
├── 第7章 CMake 交叉编译
│ ├── 7-1 第七章介绍
│ ├── 7-2 cmake 交叉编译分析和测试代码准备
│ ├── 7-3 cmake交叉编译linux arm开发板程序
│ ├── 7-4 cmake交叉使用NDK交叉编译安卓静态库
│ ├── …
│ └── 7-7 cmake编译鸿蒙Hap应用的c++库
├── 第8章 cmake单元测试
│ ├── 8-1 第八章介绍
│ ├── 8-2 cmake_ctest单元测试分析和测试示例
│ ├── 8-3 使用CMake的Fetch自动下载编译googlete
│ ├── …
│ ├── 8-6 googletest完整单元测试TEST_F
│ └── 8-7 解决googletest在vs上运行时库不一致问题
├── 第9章 CMake实战开源项目xcpp
│ ├── 9-1 第九章介绍
│ ├── 9-2 CMake实战开源项目cmake配置需求分析
│ ├── …
│ ├── 9-5 xlog的install配置并支持find_packa
│ ├── …
│ ├── 9-8 配置test_xlog项目完成linux上测试
│ ├── …
│ └── 9-12 完成xlog和xthread_pool单元测试
└── 第10章 CMake补充章节
├── 10-1cmake构建vs_qt项目示例程序完成
├── 10-2cmake设置QT的SDK路径加载qt库和头文件
├── 10-3qt程序执行的依赖库自动复制
├── 10-4cmake导入qt库完成qt界面示例代码-有资源找不到错误
├── 10-5生成qt资源、界面和信号槽c++代码
└── 10-6cmake编译QT项目输出x86和x64程序