cmake 简单的“ Hello World”项目

示例

给定main.cpp定义main()函数的C ++源文件,随附CMakeLists.txt文件(具有以下内容)将指示CMake为当前系统和默认C ++编译器生成适当的构建指令。

main.cpp (C ++ Hello World示例)

#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
    return 0;
}

CMakeLists.txt

cmake_minimum_required(VERSION 2.4)

project(hello_world)

add_executable(app main.cpp)

See it live on Coliru

  1. cmake_minimum_required(VERSION 2.4) 设置评估当前脚本所需的最低CMake版本。

  2. project(hello_world)开始一个新的CMake项目。这将触发许多内部CMake逻辑,尤其是对默认C和C ++编译器的检测。

  3. 与add_executable(app main.cpp)构建目标app被创建,将调用所配置的编译器与当前设定一些默认标志来编译的可执行app从给定的源文件main.cpp。

命令行 (源内构建,不推荐)

> cmake .
...
> cmake --build .

cmake .执行编译器检测,评估CMakeLists.txt给定.目录中的,并在当前工作目录中生成构建环境。

该cmake --build .命令是必要的build / make调用的抽象。

命令行 (建议使用源外)

为了使您的源代码不受任何构建工件的影响,您应该执行“源外”构建。

> mkdir build
> cd build
> cmake ..
> cmake --build .

或者,CMake也可以从上面的示例中提取平台shell的基本命令:

> cmake -E make_directory build
> cmake -E chdir build cmake .. 
> cmake --build build