Cmake工具

Cmake可以生成makefile、可以应用到不同的操作系统库、涉及不同的编译器、Cmake使得我们可以使用IDE(针对与Vscode)、关联到代码的逻辑关系、Camke提供第三方工具、设定项目的时候提供C test

持续集成:每次集成需要自动化、手动打包成shell、发布成网站,自动化测试,然后再作集成测试,整个过程用自动化的形式构建、每天的集成、设计到接口的接口、快速集成需要自动化、Cmake自动化测试:有10个测试用例,有1个问题就改bug,产生问题,也可以使得问题的解决简单化。

Cmake被广泛性的使用,特性:自动搜索可能的依赖库,库有模块自动的加载,构建会影响到源码文件,散落在各个地方,不受以前构建的影响,以前用shell来写,Cmake可以自动,可选的组建可以方便选择,Cmake list没有过多的目录要求,静态库和动态库的构建,不需要与具体的编译器进行耦合。

Cmake.txt 会去读cmake.list,读取之后会生成可执行文件,会涉及到一些临时文件,临时文件会涉及到缓存、也即在第一次生成以后再第二次会存储在里面,改代码的时候会通过Cmakelist去更改,生成的目录就可以删掉,预处理的代码和缓存变量都存放到这个里面,我们可以选择不同的项目或者在不同的平台上面我们可以生成Ninja、make 、nmae,我们选择用make去读取Makefile 然后通过gcc进行编译最终生成执行文件。

Linux安装Cmake(ubuntu20.04 LT)

一、前置要求:

        安装好ubuntu20.04版本64位系统 配置好系统网络 准备好cmake源码

二、直接安装

        

apt install cmake

二进制安装

三:源码编译安装

        1.安装编译工具和依赖库

      

sudo apt install g++
sudo apt install make
apt install ninja-build
apt install unzip
apt install libssl-dev

        2.下载解压cmake源码并编译

wget https://github.com/Kitware/CMake/releases/download/v3.23/cmake-3.23.1.tar.gz
tar-xvf cmake-3.23.1.tar.gz
cd cmake-3.23.1
./configure
make -j32
#不加j32是单线程编译、加-j32是多线程编译

        3.安装编译好的Cmake

sudo make install 
#安装在/usr/local/share/cmake-3.23

        4.设置Cmake的运动路径

vi ~./bash_profile
文件中添加
export PATH=/usr/local/share/cmake-3.22$PATH

        5.运行cmake查看版本

cmake--version

#cmake version 3.23.1
#CMake suit maintained and supported be Kitware (kitware.com/cmake)

Cmake的第一个示例cmakelist

一:前置准备

准备测试的C++程序文件first_cmake.cpp

在源码的同目录下编写第一个CMakeList.txt

二:Windows平台编译

//101first_cmake
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
    cout<<"first CMake TEST"<<endl;
    return 0;
}

CMakeList.txt

#CMakeList.txt cmake 文件名大小写不敏感




#指定cmake最低版本
cmake_minimum_required(VERSION 3.20)

#构建项目的名称
project(first_cmake)

#构建执行程序
add_executable(first_cmake 101first_cmake.cpp)

下面就可以编译了

Ubuntu(linux)平台编译:

前置准备:

        安装好gcc编译工具

sudo apt install g++
sudo apt install make

如果需要用到Ninja

sudo apt install ninja-build

生成项目文件:

        生成makefile

cmakes -S. -B build

        生成Ninja项目

cmake-S. -B build -G "Ninja"

指定项目工具

在linux主要有两种,一种是生成make的makefile一种是生成Mimja的build.ninja生成

Ninja的build.ninja 生成makefile见上面示例生成Ninja cmake_-G Ninja

#之前的代码
cmake -S . -B build

对整个文件进行编译有两种方案

1.cd build/

2.make

or

1.cd ..

2.cmake --build

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值