网上cmake的资料已经很丰富了,本文只是做个简单记录。
介绍
你或许听过好几种 Make 工具,例如 GNU Make ,QT 的 qmake ,微软的 MS nmake,BSD Make(pmake),Makepp,等等。这些 Make 工具遵循着不同的规范和标准,所执行的 Makefile 格式也千差万别。这样就带来了一个严峻的问题:如果软件想跨平台,必须能够在不同平台编写build工程。而如果使用上面的 Make 工具,就得为每一种标准写一次 Makefile ,这将是一件让人抓狂的工作。
CMake 就是针对上面问题所设计的工具:它首先允许开发者编写一种平台无关的 CMakeList.txt 文件来定制整个编译流程,然后再根据目标用户的平台进一步生成所需的本地化 Makefile 和工程文件,如 Unix 的 Makefile 或 Windows 的 Visual Studio 工程。从而做到“Write once, run everywhere”。显然,CMake 是一个比上述几种 make 更高级的编译配置工具。一些使用 CMake 作为项目架构系统的知名开源项目有 VTK、ITK、KDE、OpenCV、OSG 等 。
CMake背景
cmake 是 kitware 公司以及一些开源开发者在开发几个工具套件(VTK)的过程中衍生品,最终形成体系,成为一个独立的开放源代码项目。项目的诞生时间是 2001 年。其官方网站是 www.cmake.org,可以通过访问官方网站获得更多关于 cmake 的信息。开放源代码,使用类 BSD 许可发布。
学习资料
- CMeke入门实战:https://www.hahack.com/codes/cmake/#
- CMake实战:https://github.com/lolimay/CMake-Tutorial/blob/master/resources/CMake_Practice.pdf
官网手册
以上资料或许能够帮助你了解Cmake,以及解决大部分问题。在实际的项目开发中,要学会根据需求灵活查阅官方文档
https://cmake.org/cmake/help/latest/