1. 程式人生 > 其它 >現代 CMake 簡明教程(一)- CMake 基礎 (轉載)

現代 CMake 簡明教程(一)- CMake 基礎 (轉載)

系列文章目錄

文章目錄

目錄

前言

用 CMake 來構建 C/C++ 專案是業內的主流做法。最近,我們的專案程式碼做了一些拆分和合並:引入其他倉庫程式碼,並且將公共部分拆分以供多個倉庫同時使用。為此,就得修改專案中的 CMake 以滿足需求。

在做這件事情時,過程是相當痛苦的,修改的難度超過了我的預期。這份痛苦的回憶,讓我陷入了沉思:這 CMake 咋這麼不好使,是我的使用姿勢不對嗎?CMake 的最佳實踐是啥?

在經過一番搜尋和學習,我開始瞭解 Modern CMake 的一些用法與理念,它主張放棄傳統的基於變數的方法,而採用基於 target 的結構化模式,使其成為一個更可維護、更直觀、更易整合、更具意義的方案。
在這裡對自己的學習做一個總結,主要內容包括:

  1. 介紹 Modern CMake 的基礎語法與工具,讓你對 CMake 能做些啥有更清楚的認識
  2. 介紹 Modern CMake 理念與最佳實踐,並給出具體例項

CMake基礎

這部分內容是 An Introduction to Modern CMake 的總結,並不會講的非常詳細,希望通過幾句話來高度總結各個用法,旨在瞭解 CMake 有哪能力,如果對某些部分感興趣請大家自行查閱具體內容。

1. Modern CMake 介紹

  • 為什麼需要一個好的構建系統?如果你有以下需求,那麼使用 CMake 可以從中獲益
    • 你想避免硬編碼路徑
    • 你需要在多臺電腦上建立一個軟體包。
      你想使用CI(持續整合)。
      你需要支援不同的作業系統(甚至可能只是Unix的不同版本)。
      你想支援多個編譯器
      你想使用IDE,但也許並不是所有時間都想使用。
      你想要更好地組織程式的結構
      你想使用別人的庫
      你想使用工具,比如Clang-Tidy,來幫助你編寫程式碼。
      你想使用偵錯程式
      轉載請附上原文出處連結及本宣告。
      原文連結:https://blog.csdn.net/weiwei9363/article/details/109290252

原文連結:https://blog.csdn.net/weiwei9363/article/details/109290252