## 什么是CMake?
### 简介
CMake通过CMakeLists.txt文件定义构建规则,支持跨平台编译(Windows/Linux/macOS)、依赖管理、第三方库集成。招聘中常用于评估候选人对软件工程流程的理解能力,常见于系统开发、游戏引擎、嵌入式等岗位需求。
### 职业方向
初级开发工程师→中级开发工程师→高级开发工程师→架构师
构建工程师→CI/CD工程师→DevOps工程师→技术经理
### 核心技能
CMakeLists.txt编写规范
跨平台编译配置
第三方库集成(如OpenCV、Boost)
CTest单元测试框架
CPack打包工具
与GitSubversion版本控制集成
### 相关技能
[Makefile编写](https://s.niuqizp.com/s_campus_Makefile%E7%BC%96%E5%86%99/?ur=article), [Meson](https://s.niuqizp.com/s_campus_Meson/?ur=article), [Bazel](https://s.niuqizp.com/s_campus_Bazel/?ur=article), [Gradle](https://s.niuqizp.com/s_campus_Gradle/?ur=article), [JenkinsGitLabCI](https://s.niuqizp.com/s_campus_JenkinsGitLabCI/?ur=article), [Git版本控制](https://s.niuqizp.com/s_campus_Git%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6/?ur=article)
### 相关专业
[计算机科学与技术](https://s.niuqizp.com/s_campus_计算机科学与技术/?ur=article), [软件工程](https://s.niuqizp.com/s_campus_软件工程/?ur=article), [电子工程](https://s.niuqizp.com/s_campus_电子工程/?ur=article), [信息工程](https://s.niuqizp.com/s_campus_信息工程/?ur=article), [自动化](https://s.niuqizp.com/s_campus_自动化/?ur=article)
### 相关证书
[无独立认证](https://s.niuqizp.com/s_campus_无独立认证/?ur=article), [可结合C++认证(如C++17C++20)](https://s.niuqizp.com/s_campus_可结合C++认证(如C++17C++20)/?ur=article), [DevOps相关认证(如AWSCertifiedDevOpsEngineer)](https://s.niuqizp.com/s_campus_DevOps相关认证(如AWSCertifiedDevOpsEngineer)/?ur=article)
### 相关岗位
[CC++开发工程师](https://s.niuqizp.com/s_campus_CC++开发工程师/?ur=article), [技术类](https://s.niuqizp.com/s_campus_技术类/?ur=article), [计算机软件硬件服务](https://s.niuqizp.com/s_campus_计算机软件硬件服务/?ur=article), [嵌入式系统工程师](https://s.niuqizp.com/s_campus_嵌入式系统工程师/?ur=article), [电子电路半导体](https://s.niuqizp.com/s_campus_电子电路半导体/?ur=article), [自动化构建工程师](https://s.niuqizp.com/s_campus_自动化构建工程师/?ur=article), [互联网](https://s.niuqizp.com/s_campus_互联网/?ur=article), [游戏引擎开发工程师](https://s.niuqizp.com/s_campus_游戏引擎开发工程师/?ur=article), [娱乐休闲体育生活服务](https://s.niuqizp.com/s_campus_娱乐休闲体育生活服务/?ur=article)
### 求职建议
应届生应重点掌握CMake基础语法与项目结构,通过GitHub参与开源项目实践(如ROS、VTK)。建议熟悉常见构建错误排查(如路径问题、依赖冲突),了解持续集成(CI)流程配置。应聘时需准备完整的CMake项目案例,展示跨平台构建能力。