前言
“轻松搞定CMake” 系列博客总结了我自己在使用CMake过程中所记录的笔记,学习到的经验和教训,以及对CMake这个工具的深入理解,帮助大家认识CMake这个工具的精髓和本质所在。
所谓“知其然并知其所以然”才是我们学习的目标,对于很多初学者甚至接触CMake很多年的开发者来说,都是处于“知其然而不知其所以然”的状态,平时能使用,遇到问题网上搜一搜也能够正常使用,但是可能都是处于懵懵懂懂的状态,无法明白其原理所在,遇到一些比较复杂的问题,也不知道该如何下手。
因此本系列博客目的就是带大家好好认识和学习CMake这个工具,我会结合我的经验帮助大家深入认识CMake,从而少走弯路,做到心知肚明。
CMake 是一个跨平台的安装(编译)工具,可以用简单、统一的语句来描述所有平台的安装或编译过程。能够输出不同编译器的 makefile 或 project 文件。
CMake是什么?
CMake 是一个跨平台的安装(编译)工具,可以用简单、统一的语句来描述所有平台的安装或编译过程。能够输出不同编译器的 makefile 或 project 文件。
CMake 使用 CMakeLists.txt
文件作为项目组织文件,CMake 并非跨平台编译工具,而是项目构建工具,可以在不同的平台上根据构建参数生成工程项目,例如 Windows 平台下可以构建 Visual Studio 工程 或 NMake 工程,可选指定 Visual Studio 的版本;在 Unix 构建 Makefile 工程 。
CMake优势
- 开放源代码,使用 BSD 许可证发布
- 跨平台,可以生成 native 编译配置文件。在 linux/unix 平台可以生成 makefile,在 mac 平台可以生成 xcode,在 windows 平台可以生成 msvc 工程的配置文件,能够管理大型项目
- 简化编译构建过程和编译过程,只需要 cmake + make 就可以
- 高效率
- 可扩展,可以为 cmake 编写特定功能的模块,扩充 cmake 功能
如何安装CMake
Ubuntu平台下最简单安装方法:
sudo apt-get install cmake cmake-qt-gui
本系列博客概览
博客目的
追求实用,贴近实际代码,用更多的例子方便大家理解。
撰写计划
- CMake学习资源汇总
- 几个简单的CMake项目例子
- CMakeLists文件编写语法规则详解
- CMake项目编译构建过程及原理
- find_package用法详解
- 如何使用CMake封装自己的软件包
- 在Qt项目使用CMake
- ROS中CMake用法基本理解
结语
随着版本的更新和迭代,CMake的特性也越来越复杂,对CMake的掌握要求也越来越高,CMake逐渐也演变成为一门新的“编程语言”。因此本系列博客不可能面面俱到,没有也不可能包含CMake的所有特性和用法,只是对CMake的用法做了一个概述,并对其中重要的用法进行了深入剖析,另外也提供了一些学习资源和学习思路,实现“授人以鱼不如授人以渔”的目的。
相信你通过本系列博客的学习,就能“轻松搞定CMake”,满足你日常的编程需求,如需更上一层楼,可以进行另外的学习。不过我一直相信“工具只是工具”,工具用得好,能够为你编程实现过程变得轻松愉悦,但不要一直追求对工具的全面细致掌握,那样就会本末倒置,忘记了工具是用来帮助我们实现其他功能的初衷了!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/121237.html