CMake是开源、跨平台的编译和打包工具,在有跨平台需求的项目里面,CMake是常用的工具。它可以根据目标平台生成不同的Makefile或者工程文件,生成Makefile后使用make编译代码。本文介绍CMake的安装和入门使用。
安装CMake
使用brew安装cmake,等待安装完成即可
brew install cmake
如果没有homebrew,首先要安装homebrew
使用CMake
新建一个项目文件夹CMakeProject,目录下新建一个C++文件CMakeTest.cpp,写入以下代码
#include <iostream>
int main() {
std::cout << "hello world" << std::endl;
}
在目录下新建CMakeLists.txt文件,写入以下配置。PROJECT用于设置工程名称,ADD_EXECUTABLE的第一个参数为可执行文件名称,第二个参数为源代码文件。
PROJECT(HELLO)
ADD_EXECUTABLE(cmakeTest "CMakeTest.cpp")
在目录下执行cmake . 命令,目录下会生成Makefile,CMakeCache.txt,cmake_install.cmake等文件,接下来的make命令会用到Makefile文件。
执行make命令,当前目录下会生成cmakeTest可执行文件。在命令行中直接输入cmakeTest,终端中输出了hello world
CMake工具已经正常安装和运行了。
优化工程目录
在上面的介绍中,我们已经让CMake正常运行起来,但还有点工程问题。工程目录里面多了很多文件,并且和源码混合在一起,为了隔离CMake产生的文件和源码,我们需要新建build目录用于存放CMake的产物,新建src目录用于单独存放源码文件。注意这个时候,src目录下面也要新建一个CMakeLists.txt文件。
src目录下面的CMakeLists.txt文件写入配置
ADD_EXECUTABLE(cmakeTest "CMakeTest.cpp")
项目根目录下的CMakeLists.txt需要改为
PROJECT(HELLO)
ADD_SUBDIRECTORY(src bin)
这里的ADD_SUBDIRECTORY为添加子目录,第一个参数为源码的目录名称,第二个为生成的产物的目录
在build目录下执行命令cmake … 注意这里要使用…,因为项目根目录的CMakeLists.txt在上层文件夹。
执行成功后再执行make命令,此时build目录会生成bin目录,cd到bin目录,直接输入cmakeTest,终端里面输出了hello world文章来源:https://www.toymoban.com/news/detail-450382.html
此时工程项目目录已经改造完成了。文章来源地址https://www.toymoban.com/news/detail-450382.html
到了这里,关于MacOS使用CMake的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!