cmake文法學習

來源:互聯網
上載者:User

標籤:style   class   color   strong   檔案   set   

1.項目最外層cmake編寫:----------用於kdevelop編譯器

×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

eg:

project(filtering)

cmake_minimum_required(VERSION 2.8)  ————必須有的

include_directories(${PROJECT_SOURCE_DIR}/src)   ————設定include標頭檔尋找路徑
link_directories (${PROJECT_BINARY_DIR}/lib)     ————設定庫檔案搜尋路徑

set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)

add_subdirectory(src)
add_subdirectory(lib)

××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

第一行 project 不是強制性的,但最好始終都加上。這一行會引入兩個變數

  • FILTERING_BINARY_DIR 和 FILTERING_SOURCE_DIR

同時,cmake自動定義了兩個等價的變數

  • PROJECT_BINARY_DIR 和 PROJECT_SOURCE_DIR

因為是out-of-source方式構建,所以我們要時刻區分這兩個變數對應的目錄

一般解釋:

${PROJECT_SOURCE_DIR}:表示目前的目錄下

${PROJECT_BINARY_DIR}:工程當前編譯目錄(在建立工程的時候設定的,一般為build下)

可以通過message來輸出變數的值:

  message(STATUS ${PROJECT_SOURCE_DIR})

  測試結果:PROJECT_SOURCE_DIR-- /home/zzy/profin/filtering     

         PROJECT_BINARY_DIR-- /home/zzy/profin/filtering/build

 

set 命令用來設定變數,eg:set(TESTNAD_SRCS main.cpp) ,前一個為變數名稱,後一個為其關聯的檔案,多個檔案用空格分開。

add_exectuable 告訴工程產生一個可執行檔。eg:add_executable(testnad ${TESTNAD_SRCS}) ,前一個為可執行檔名稱,後一個為變數值。

add_library 則告訴產生一個庫檔案。

aux_source_directory(<dir> <variable>):搜集所有在指定路徑下的源檔案的檔案名稱,將輸出結果清單儲存在指定的<variable>變數中,非常好用。即指定該檔案夾下所有檔案都在變數中。

  • 注意:CMakeList.txt 檔案中,命令名字是不區分大小寫,而參數和變數是大小寫相關的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.