cmake初识

cmake初识,第1张

1、构建CMakeLists.txt

CMakeLists.txt是CMake的指令文件。


CMake根据该文件生成makefile,最后调用generator来生成可执行程序或者库。


一个工程下每个线(每个文件夹)都需要一个CMakeLists.txt。


假设编写main.cpp实现平方根计算,然后在该目录下新建CMakeLists.txt文档,内容如下:

# 设置最小cmake版本号
cmake_minimum_required(VERSION 3.10)

# 设置工程名
project(CalculateSqrt VERSION 1.0)

# 添加文件
add_executable(CalculateSqrt main.cpp)
2、build

在文件夹中打开命令行或者Linux shell输入

mkdir build
cd build
cmake ..

第一条语句:在根目录下创建一个build文件夹来放置cmake生成的文件,保持源文件目录下的整洁;
第二条语句:打开build文件夹;
第三条语句:运行cmake来配置项目并生成一个本地构建系统。


当然,如果只是简单的测试,也可以不指定build作为生成文件的目录,直接输入。


cmake .

可以看到“.”代表当前目录,“. .”代表上级目录。


完整的cmake语句应该是:

cmake [] -S  -B 
3、run

根据generator的不同,完成build之后,build文件夹下的文件可能不同。



在命令行输入

cmake --help

查看当前默认的generator(带*号),比如下图

当前默认的generator是vs2019,编译链接之后生成.exe文件

当前generator是unix makefiles。


打开build文件夹可以看到一个makefile文件,也就是与命令行make工具一起使用的工程文件;
还有一个CMakeCache.txt,存储诸如构建系统配置选项等信息的文件,例如camke的版本号,generator的信息等等:

//Name of generator.
CMAKE_GENERATOR:INTERNAL=Unix Makefiles

调用构建系统来编译/链接这个项目,build文件夹下会生成工程同名文件:

cmake --build .

当然,也可用make命令来编译/链接这个项目。


make

但初学者还是推荐"cmake --build"命令,因为make是默认gcc编译器,如果电脑上没有安装gcc,而电脑默认编译器是vs,就会出错。


如果是用vs编译,会在build下有个debug文件夹,下面有可执行文件.exe;

可以用命令行语句简单地测试下成功与否

 .\CalculateSqrt.exe 4 

或者

./CalculateSqrt 4

相关代码

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/569302.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存