cmake簡介

1、cmake的由來html

        cmake是kitware公司以及一些開源開發者在開發幾個工具套件(VTK)的過程當中所產生的衍生品。後來通過發展,最終造成體系,在2001年成爲一個獨立的開放源代碼項目。其官方網站是www.cmake.org,能夠經過訪問官方網站來得到更多關於cmake的信息,並且目前官方的英文文檔比之前有了很大的改進,能夠做爲實踐中的參考手冊。linux

        cmake的流行離不開KDE4的選擇。KDE開發者在使用autotools近10年以後,終於決定爲KDE4項目選擇一個新的工程構建工具。之因此如此,用KDE開發者們本身話來講,就是:只有少數幾個「編譯專家」可以掌握KDE如今的構建體系。在經歷了unsermake,scons以及cmake的選型和嘗試以後,KDE4最終決定使用cmake做爲本身的構建系統。在遷移過程當中,進展一場的順利,並得到了cmake開發者的支持。因此,目前的KDE4開發版本已經徹底使用cmake來進行構建。bootstrap

        隨着cmake 在KDE4項目中的成功,愈來愈多的項目正在使用cmake做爲其構建工具,這也使得cmake正在成爲一個主流的構建體系。xcode

2、爲什麼要使用項目構建工具工具

        「Hello, world!「這個最經典的程序相信咱們每一個人都寫過。不管在什麼平臺下,編譯和運行這個程序都僅須要很是簡單的操做。但事實上,hello,world最多隻能算是一個實例程序,根本算不上一個真正的軟件項目。網站

        任何一個軟件項目,除了寫代碼以外,還有一個更爲重要的任務,就是如何組織和管理這些代碼,使項目代碼層次結構清晰易讀,這對之後的維護工做大有裨益。試想一下,若是把一個像KDE4那麼大的項目像hello world那樣,把所有代碼都放到一個main.cpp文件中,那將會是多麼恐怖的一件事情。別說KDE4,就是咱們隨便一個幾千行代碼的小項目,也不會有人幹這種蠢事。spa

        決定代碼的組織方式及其編譯方式,也是程序設計的一部分。所以,咱們須要cmake和autotools這樣的工具來幫助咱們構建並維護項目代碼。
        看到這裏,也許你會想到makefile,makefile不就是管理代碼自動化編譯的工具嗎?爲何還要用別的構建工具?開放源代碼

        其實,cmake和autotools正是makefile的上層工具,它們的目的正是爲了產生可移植的makefile,並簡化本身動手寫makefile時的巨大工做量。若是你本身動手寫過makefile,你會發現,makefile一般依賴於你當前的編譯平臺,並且編寫makefile的工做量比較大,解決依賴關係時也容易出錯。所以,對於大多數項目,應當考慮使用更自動化一些的 cmake或者autotools來生成makefile,而不是上來就動手編寫。設計

        總之,項目構建工具可以幫咱們在不一樣平臺上更好地組織和管理咱們的代碼及其編譯過程,這是咱們使用它的主要緣由。code

3、cmake的主要特色

        cmake的一些主要特色:
        1.開放源代碼,使用類 BSD 許可發佈。
        2.跨平臺,並可生成 native 編譯配置文件,在 Linux/Unix 平臺,生成 makefile,在 蘋果平臺,能夠生成 xcode,在 Windows 平臺,能夠生成 MSVC 的工程文件。
        3.可以管理大型項目,KDE4 就是最好的證實。
        4.簡化編譯構建過程和編譯過程。Cmake 的工具鏈很是簡單:cmake+make。
        5.高效率,按照 KDE 官方說法,CMake 構建 KDE4 的 kdelibs 要比使用 autotools 來 構建 KDE3.5.6 的 kdelibs 快 40%,主要是由於 Cmake 在工具鏈中沒有 libtool。
        6.可擴展,能夠爲 cmake 編寫特定功能的模塊,擴充 cmake 功能。

4、cmake的安裝

        目前幾乎全部主流的Linux發行版的源中都包含有cmake的安裝包,直接從源中添加便可。固然,也能夠在官方網站下載最新的源代碼自行編譯安裝。源碼包地址爲:http://www.cmake.org/cmake/resources/software.html

        對於Windows和Mac用戶,cmake的官方網站上有相應的安裝包,下載安裝便可,無須贅述。

  linux安裝cmake步驟:

        1. 解壓文件

tar -xzvf cmake-3.10.3.tar.gz

cd cmake-3.10.3

   2. 依次執行命令

./bootstrap

make

make install

安裝完成後,可執行cmake -version查看版本

相關文章
相關標籤/搜索