cmake 與源碼工程的關(guān)系:

image.png
cmake的工作流程:

image.png
第一步:Configure(配置)
- 在項目根目錄添加CMakeLists.txt文件
- 編寫配置信息
第二步:Generate(生成)

image.png

image.png
利用配置文件,根據(jù)不同的平臺,生成構(gòu)建文件(即本平臺的項目文件)
CMake(CMakeList.txt)=構(gòu)建文件(Makefile)/Ninja(Ninja)/sln(visualstudio)
命令:cmake .
- CMake根據(jù)本地環(huán)境或指定文件類型,生成相應(yīng)的構(gòu)建文件(項目文件)
對于這些不同的 Makefiles,實際編譯中使用的工具是不同的。
例如,在Borland Makefile 中,用于編譯 C++ 文件的編譯器稱為 bcc32。
而 Nmake是與微軟 Visual Studio 捆綁的 make 工具,使用的編譯器則是微軟 C++ 編譯器cl。
- Borland Makefiles
- MSYS Makefiles
- MinGW Makefiles
- NMake Makefiles
- NMake Makefiles JOM
- Watcom WMake
Visual Studio 6
Visual Studio 7
Visual Studio 7 .NET 2003
Visual Studio 8 2005
Visual Studio 9 2008
Visual Studio 10 2010
Visual Studio 11 2012
Visual Studio 12 2013
Visual Studio 14 2015
Xcode
更多信息
第三步:Build(編譯)
使用本地編譯器對構(gòu)建文件進(jìn)行編譯生成可執(zhí)行應(yīng)用或DLL.
本地編譯器(構(gòu)建文件)=本地可執(zhí)行程序(dll)
命令:cmake --build
- 根據(jù)目標(biāo)平臺,配置和指定適當(dāng)?shù)木幾g器(如GCC、Clang、MSVC等)。
- 設(shè)置編譯選項,如優(yōu)化級別、調(diào)試信息生成、特定于平臺的特性等。
- 調(diào)用編譯器進(jìn)行編譯,同時可能需要設(shè)置鏈接選項,如靜態(tài)或動態(tài)鏈接庫的選擇。
- 編譯完成后,生成可執(zhí)行文件或DLL,準(zhǔn)備部署或進(jìn)一步的測試。
第四步:Debug(調(diào)試)--此步嚴(yán)格上來說不屬于Cmake參與的范圍
- 根據(jù)目標(biāo)平臺選擇合適的調(diào)試工具(如gdb、lldb、Visual Studio Debugger等)。
- 配置調(diào)試環(huán)境,包括設(shè)置調(diào)試選項和調(diào)試器參數(shù)。
- 開始調(diào)試會話,使用調(diào)試工具進(jìn)行代碼調(diào)試,包括但不限于:
- 設(shè)置斷點以暫停程序執(zhí)行
- 單步執(zhí)行以逐行檢查代碼
- 檢查和修改變量的值
- 監(jiān)視表達(dá)式和變量的變化
- 分析程序性能和內(nèi)存使用情況
- 根據(jù)調(diào)試結(jié)果,修復(fù)發(fā)現(xiàn)的問題,并迭代改進(jìn)代碼。