CMakeList.txt文件常見命令解析


 1 cmake_minimum_required(VERSION 2.8)
 2 project(bitstream)
 3 
 4 set(CMAKE_CXX_STANDARD 11)
 5 set(ROOT_DIR /home/lyu/workspace/procise_v9/procise) # 設置變量ROOT_DIR后面是變量的值
 6 
 7 set(CMAKE_MODULE_PATH "${ROOT_DIR}") # 7,8行添加CMmakeLists.txt中的公共部分,提取出來存儲在${ROOT_DIR}目錄下,這個文件的命名格式是 xxxxx.cmake,以.cmake為后綴,才能識別
 8 include(common) #添加common.cmake文件
 9 
10 SET(INCLUDE_PATH ${ROOT_DIR}/include ${COM_INCLUDE_PATH}) # 10,11,12 添加頭文件所在的目錄到變量INCLUDE_PATH,12行包含進去
11 message("${INCLUDE_PATH}")
12 INCLUDE_DIRECTORIES(${INCLUDE_PATH})
13 
14 aux_source_directory(. DIR_SRCS) # 掃描當前目錄下所有的源文件添加到變量DIR_SRCS
15 add_library(bitstream STATIC ${DIR_SRCS}) # 項目的輸出是library,名字是bitstream,靜態庫,編譯的源文件是變量DIR_SRCS中的值
16 target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Gui Qt5::Qml Qt5::Quick Qt5::Widgets Qt5::Charts) # 編譯該項目需要鏈接的外部庫

如果項目的編譯輸出是可執行文件,使用 add_executeable()命令,如下

1  #add_executeable(${PROJECT_NAME} DIR_SRCS) #項目的輸出是可執行文件,名字是變量PROJECT_NAME的值,源文件是變量DIR_SRCS的值

如果大項目下面包含多個小項目,均需要在每一個小項目下面新建一個CMakeLists.txt,在大項目的頂層的CMakeLists.txt中添加 add_subdirectory()命令,並通過target_link_libraries()將小項目的庫添加到大項目中進行鏈接,如下:

1 add_subdirectory(${ROOT_DIR}/src/bitstream)
2 target_link_libraries(${PROJECT_NAME} bitstream.a)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM