给定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
cmake_minimum_required(VERSION 2.4) 设置评估当前脚本所需的最低CMake版本。
project(hello_world)开始一个新的CMake项目。这将触发许多内部CMake逻辑,尤其是对默认C和C ++编译器的检测。
与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