CMake入门实践

为了更好的代码管理,选择一款make工具很是重要,cmake取百家之长,如今在github上已是工程管理的常客了,最大的优点是跨平台。本文将避开理论,直接教你如何在windows和linux上实现cmake的代码管理。linux

开始以前

cmake 的安装,这是必须的,不须要我教了哈。
Windows和linux系统都安装起来。ios

让咱们直接开始

先手撸一个main.cppc++

#include <iostream>

int main(int argc, char const *argv[])
{
    /* code */
    std::cout << "Hello CMake World "<<std::endl;
    return 0;
}

再码起一个cmake的脚本文件,统一命名CMakeLists.txt,内容以下:git

cmake_minimum_required(VERSION 3.10.2)
add_executable(Main main.cpp)
  • 第一句话是cmake的最小版本需求,
  • 第二句话则说明了最后的执行文件的名称,以及须要包含的cpp文件。

main.cpp 和CMakeLists.txt放在同一个目录下便可。github

两个文件完成后,恭喜你,代码版本能够发布了,你成功完成了代码的所有工做。好比你须要提交到github上,丢这两个文件便可。这些代码,既支持linux也支持Windows。shell

等等,还须要什么呢?对,编译指导说明文档。那就接着看吧!编程

编译指导文档

先高大上地写上 how to build:json

须要cmake,最低版本3.10.2windows

  • linux下
    先在代码文件夹下新建linux-build文件夹,而后在shell中执行
cd linux-build
cmake ../
make
./Main
  • windows下
    先在代码文件夹下新建win-build文件夹,而后在Windows终端执行:
cd win-build
cmake ../ -G "Visual Studio 9 2008"
MSBuild.exe  Project.sln
./Debug/Main

分别完成以上四步,均可以看到结果:bash

Hello CMake World

解释说明

一切看来,彷佛简单的不像话,不管是linux仍是Windows的工程文件,cmake都能接管,只须要一个简单的CMakeLists.txt文件便可。

  • 在linux下,经过cmake完成makefile文件的自动化生成,经过make编译工程,一切都很完美。
  • window下彷佛还多了一些配置,这里我在cmake时配置了-G参数,使用的Vs2008,使用其余VS版本能够参照填写,执行后生成了工程文件Project.sln,这个是默认的名字,由于我没有作配置说明,而后经过msbuild.exe 编译该工程,默认是debug的,msbuild也有其编译选项,后续有机会再说明。

以上,很是简单的介绍了cmake的跨平台特性,不管是管理Linux仍是Windows平台的代码,都很是合适,特别是跨平台编程时,cmake能够精简不少的工做,后续会继续深刻的学习cmake,同时发博文分享学习过程。

相关文章
相关标签/搜索