cmake的使用

参考:https://www.bilibili.com/video/BV1vR4y1u77h?p=10&spm_id_from=pageDriver
cmake is the cross-platform buildsystem generator。大概意思是cmake是 跨平台的用来构建软件的一个东西。比如:Linux下,写了一个cpp文件,我们用g++来编译连接成一个a.out。如果一个工程有很多cpp时,直接在命令行中敲命令特别繁琐,于是我们通过make命令,执行Makefile来生成文件。但是Makefile也需要写。于是我们可以通过cmake来生成Makefile,然后再make。不过使用cmake也需要一个CMakeLists.txt;其遵循cmake的语法;
cmake不仅可以生成makefile,还可以安装文件,目录,可执行文件等。功能很强大;
CMakeLists.txt中的语法是一条条cmake支持的命令,命令不区分大小写,变量区分大小写;
一些命令如下:
message(STATUS “abc”) #执行cmake后在命令行显示“-- abc”
message(SEND_ERROR “abc”)#报错,错误是“abc",继续执行下面的命令,不过make的时候会失败
message(FATAL_ERROR “abc”)#报错,错误是"abc",不继续下面的命令,执行make的时候会失败;
add_executable(hello test.cpp test1.cpp)#指定可执行文件名是hello,其源文件是test.cpp,test1.cpp;
add_library(hello STATIC test1.cpp)
add_library(hello SHARED test1.cpp)#这两个分别是生成静态库,动态库
cmake_minimum_required(VERSION 3.16)#指定cmake版本
project(HELLO)#指定工程名字
add_subdirectory(src bin)#加子目录,类似于C/C++中的#include,子目录是src,会执行src目录中的CMakeLists.txt,并把最终构建的可执行文件及生成的一些中间文件放在bin目录中,bin目录无需存在,会自行创建。
set(ABC “abc”);//设置变量ABC的值是 ”abc"
message(STATUS “ABC=${ABC}”);//执行完cmake后在命令行显示:
- - ABC=abc
cmake中的变量有局部变量,缓存变量(全局变量),环境变量;都可以通过set来设置;
可参考:cmake set的使用
有很多命令,具体使用时不会的时候去网上查找…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值