欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Introduction to CMake

程序员文章站 2022-04-26 11:13:11
...

CMake使用

1.1 CMake简介

       CMake是高级编译配置工具,有两大主要功能如下:

  1. 配置和生成各大平台的工程(vs的vcxproj,Qt的Pro):
           比如设置输出目录,设置编译对象的debug后缀,设置源码在工程中的那个文件夹(Filter),配置需要依赖的第三方的头文件目录,库目录等等属性。
  2. 生成makefile文件:
           计算机编译源文件的时候是一条指令一条指令的发送给编译器执行的,这样效率很低下,所以就产生了一种文件,把所有的命令写到一个文件中,这个文件就是makefile。

1.2 如何安装

系统:Mac

1.2.1 安装包安装

       这个是我自己实践过的:

  1. 下载安装包:CMake官网
  2. 在终端进入安装包所在目录;
  3. 终端输入:./bootstrap,引导CMake进入存储器(这个阶段需要一点时间,不必着急);
    Introduction to CMake
  4. 终端输入:make,维护可执行程序的最新版本;
  5. 终端输入:sudo make install,安装 CMake;
    Introduction to CMake
  6. 安装完毕,查看 CMake 的版本;
    Introduction to CMake

1.2.2 Homebrew安装

       参考自苹果官网Install cmake on Mac OSX,但我没有实践过。

  1. 终端输入:
    ruby -e "$(curl -fsSL https:/ raw.githubusercontent.com/Homebrew/ install/master/install)" < /dev/null 2> /dev/null
  2. 在输入Mac密码后,终端输入:
    brew install cmake
  3. 安装完毕,现在可以使用 CMake 了;

1.3 如何使用

       CMake已经安装成功了,接下来运行一个输出‘’HelloCmake‘’的程序,来对CMake有一个感性认知。

  • 准备过程如下:
    Introduction to CMake
  1. 创建项目文件夹 HelloCmake;
  2. 利用 Sublime (或其它文本编辑器)创建CmakeList.txtmain.cpp文件;
  3. 创建储存编译中间文件的目录build并执行cmake ..
// CMakeList.txt  
cmake_minimum_required(VERSION 3.9)
project(HelloWorld)

set(CMAKE_CXX_STANDARD 11)

add_executable(HelloWorld main.cpp)
//main.cpp
#include <iostream>
int main() {
    std::cout << "Hello, World!" << std::endl;
    return 0;
}
  • 编译及运行如下:
    Introduction to CMake
    Introduction to CMake
  1. 执行cmake ..,其中..表示当前目录的上级目录,即CMakeList.txt所在目录,编译产生的中间文件都储存于目录build下;
  2. build目录下编译make,生成可执行文件HelloWorld(由于疏忽,没有在CMakeList.txt中将项目名称改为HelloCmake,所以执行文件名字仍为HelloWorld);
  3. 运行可执行文件HelloWorld,正确输出结果;

1.4 参考

  1. cmake mac 安装
  2. Cmake知识----编写CMakeLists.txt文件编译C/C++程序
  3. CMake入门实践(一) 什么是cmake
  4. CMake官网
  5. Install cmake on Mac OSX