首页
›
编程基础与工程化
›
017-CMake构建系统
›
《大型项目多目录构建方案实战》
VIP20
本课程属于:017-CMake构建系统
编程基础与工程化 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
大型项目多目录构建方案实战
📚 共计 30 章节
01
项目结构设计
为什么需要多目录?单体 vs 模块化,经典目录剖析 (src, lib, tests, docs, scripts, config)
架构
基础
02
构建工具选型
Makefile vs CMake vs Bazel vs Gradle,适用场景与优缺点对比
工具
对比
03
Makefile 基础
目标、依赖、规则、变量、自动变量、伪目标、模式规则
Makefile
语法
04
Makefile 实战
多目录递归构建,include/submake,构建静态库与动态库
实战
库
05
CMake 入门
CMakeLists.txt 语法,project()、add_executable()、add_library()、target_link_libraries()
CMake
入门
06
CMake 进阶
多目录构建 (add_subdirectory),自定义模块 (find_package),安装规则 (install)
进阶
模块
07
CMake 实战
构建包含多个子模块的 C++ 项目,支持 Debug/Release 配置
实战
C++
08
Bazel 基础
BUILD 文件、规则 (cc_binary, cc_library, cc_test)、工作区 (WORKSPACE)
Bazel
基础
09
Bazel 进阶
多包管理、依赖图可视化、远程缓存与分布式构建
进阶
分布式
10
Bazel 实战
构建微服务项目,包含多个服务与共享库
实战
微服务
11
Gradle 基础
build.gradle 语法,Java 插件、依赖管理、多项目构建
Gradle
Java
12
Gradle 进阶
自定义任务、构建生命周期、增量构建、构建扫描
进阶
生命周期
13
Gradle 实战
构建 Java Spring Boot 多模块项目
实战
Spring
14
Python 项目构建
setuptools、pyproject.toml、poetry、pipenv 对比与选择
Python
工具
15
Python 多目录构建
setuptools find_packages,构建 wheel 包,依赖管理
多目录
wheel
16
JS/TS 项目构建
npm workspaces、yarn workspaces、pnpm workspaces
JavaScript
Monorepo
17
Monorepo 管理
Lerna、Nx、Turborepo 对比,代码共享与版本管理
Monorepo
对比
18
构建缓存与增量构建
原理、实现方式 (ccache, sccache, buildkit),配置方法
缓存
增量
19
持续集成中的构建
GitHub Actions、GitLab CI、Jenkins 配置多目录构建流水线
CI
流水线
20
构建产物管理
产物版本化、存储 (Artifactory, Nexus)、分发策略
产物
存储
21
跨平台构建
交叉编译、Docker 多阶段构建、平台特定配置
跨平台
Docker
22
构建脚本最佳实践
错误处理、日志输出、并行构建、资源清理
脚本
最佳实践
23
依赖管理
语义化版本、锁定文件、依赖冲突解决、私有仓库配置
依赖
版本
24
测试与构建集成
单元测试、集成测试、覆盖率报告在构建流程中的集成
测试
覆盖率
25
文档生成与构建
Doxygen、Sphinx、Javadoc、Typedoc 集成到构建流程
文档
生成
26
代码质量与构建
静态分析 (clang-tidy, pylint, eslint)、格式化 (clang-format, black, prettier) 集成
质量
静态分析
27
构建性能优化
并行度调优、分布式构建、构建图优化、避免重复构建
性能
优化
28
安全与构建
依赖漏洞扫描 (Snyk, Dependabot)、签名验证、SBOM 生成
安全
SBOM
29
大型项目案例
分析 LLVM、TensorFlow、Kubernetes 等真实开源项目的构建方案
案例
开源
30
总结与展望
构建工具发展趋势 (Bazel 生态、Nix、Buck2),如何选择适合团队的方案
趋势
选型
所属VIP或分类
同VIP:CMake-FetchContent依赖管理与模块化构建
同VIP:CMake-Presets工程配置与多环境构建实战
同VIP:CMakeLists.txt-完全解析