当我们要执行程序前要对程序进行编译,然而Make工具却有很多种,如 GNU Make ,QT 的 qmake ,微软的 MS nmake,BSD Make(pmake),Makepp,等等。这些 Make 工具遵循着不同的规范和标准,所执行的 Makefile 格式也千差万别。这样就带来了一个严峻的问题:如果软件想跨平台,必须要保证能够在不同平台编译。而如果使用上面的 Make 工具,就得为每一种标准写一次 Makefile。所以为了避免这样的跨平台问题,Cmake就被设计了出来。
CMake是一个跨平台的安装(编译)工具,它允许开发者编写一种与平台无关的 CMakeList.txt 文件来定制整个编译流程,然后再根据用户的平台进一步生成所需的本地化 Makefile 和工程文件。
- 编写 CMake 配置文件 CMakeLists.txt 。
- 执行命令 cmake PATH 生成 Makefile。其中, PATH 是 CMakeLists.txt 所在的目录。
- 使用 make 命令进行编译。
4.CMake变量
- 赵勇师兄的PICMake(CMake的简化版?建议掌握CMake之后看一下)
- 全自动编译Thirdparty库(下载,编译,安装到指定目录) https://github.com/OpenDroneMap/ODM/tree/master/SuperBuild
- CMake: How to build external projects and include their targets https://stackoverflow.com/questions/15175318/cmake-how-to-build-external-projects-and-include-their-targets