Whay need the CMake? 如果只是構建一個只有一個main.cpp的小型項目,那麼確實不需要CMake, 直接GCC、G++編譯,或者寫個build.sh腳本即可, 不需要把簡單的問題搞複雜化。 $ g++ main.cpp -o cmake_hello 但是如果你的項目分了很多模塊 ...
Whay need the CMake?
如果只是構建一個只有一個main.cpp的小型項目,那麼確實不需要CMake, 直接GCC、G++編譯,或者寫個build.sh腳本即可, 不需要把簡單的問題搞複雜化。
$ g++ main.cpp -o cmake_hello
但是如果你的項目分了很多模塊,導入了很第三方源碼、庫文件等,那麼編譯也是個複雜問題,之前的先驅們為了將編譯這一複雜過程封裝起來,就發明瞭Makefile,過了一段時間,人們覺得Makefile還是過於複雜,又在基於Makeile的基礎上又封裝出了CMake,這下現在的人就能使用幾條簡單的語法就能編譯一個複雜工程了。
My goal of using CMake
我現在使用CMake還沒有遇到高級的需求,都是做一些簡單的事情,比如:
- 看懂Clion項目自動創建的CMakeLists.txt
- 能使用Clion添加編譯配置,正常編譯
- 導入第三方源碼、庫文件
- 為不同系統(WINDOWS\LINUX)生成不同的動態庫文件
Compilation record in Windows
- 環境安裝記錄
- 安裝Cygwin64, 安裝的時候需要勾選gcc-core、gcc-g++、make、gdb、binutils,cmake這個幾個套件。
https://blog.csdn.net/deniro_li/article/details/104457735 - 安裝Clion
- 編譯記錄
- 在項目根目錄下寫好CMakeLists.txt後
- 打開Cygwin64 Terminal
- cd d:/ (在cygwin下轉到D盤)
- 進到你的項目
- 執行編譯命令
$ cmake CMakeLists.txt
// You will notice that, cmake is identifying compiler versions and configurations with default information.
$ make all
#or
$ make cmake_hello
- 進入~\your project\cmake-build-debug
./main.exe
以上的步驟,在Clion里只需要Shift + F10 即可。
Reference
CMake Turorial
https://medium.com/@onur.dundar1/cmake-tutorial-585dd180109b
Github:https://github.com/Mysticbinary
既然看到了這裡,君何不暢談一番?