標籤: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自動定義了兩個等價的變數
因為是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 檔案中,命令名字是不區分大小寫,而參數和變數是大小寫相關的。