簡單的 Hello World 專案
給定定義 main()
函式的 C++原始檔 main.cpp
,附帶的 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)
-
cmake_minimum_required(VERSION 2.4)
設定評估當前指令碼所需的最小 CMake 版本。 -
project(hello_world)
啟動了一個新的 CMake 專案。這將觸發大量內部 CMake 邏輯,尤其是檢測預設的 C 和 C++編譯器。 -
使用
add_executable(app main.cpp)
建立一個構建目標app
,它將呼叫配置的編譯器,並使用當前設定的一些預設標誌來編譯來自給定原始檔main.cpp
的可執行檔案app
。
命令列 (In-Source-Build,不推薦)
> cmake .
...
> cmake --build .
cmake .
執行編譯器檢測,評估給定 .
目錄中的 CMakeLists.txt
,並在當前工作目錄中生成構建環境。
cmake --build .
命令是必要的構建/呼叫呼叫的抽象。
命令列 (Out-of-source,推薦)
為了保持原始碼不受任何構建工件的影響,你應該執行源外構建。
> mkdir build
> cd build
> cmake ..
> cmake --build .
或者 CMake 也可以從上面的示例中抽象出你的平臺 shell 的基本命令:
> cmake -E make_directory build
> cmake -E chdir build cmake ..
> cmake --build build