cmake_minimum_required(version 3.5) #cmake最低版本要求
project(test) #工程名
set(cmake_cxx_standard 11) #c++11 設定
set(cmake_build_type debug) # debug版
#add_subdirectory() 新增子目錄 該目錄下自動尋找對應的cmakelists.txt檔案
#set(common_src $/public/common/kingtbb.cpp) #將原始檔設定到變數中
#add_library(common_lib static $) 生成對應的靜態庫方便鏈結
#set(cmake_cxx_flags "$ -fpic")
#如果要編譯成可用gprof分析的版本,則在配置檔案中加入:
#set(cmake_build_type profile)
#set(cmake_cxx_flags_profile "-pg" )
add_compile_options(-std=c++11 -w)
#add_definitions(-std=c++11)
add_definitions(-g)
add_definitions(-wno-deprecated-declarations)
aux_source_directory(./ srclist) #將當前目錄下的原始檔 加到變數srclist
aux_source_directory(./datamanger srclist) #將當前目錄下的datamanger 下的原始檔 加到變數srclist
include_directories("./") #標頭檔案包含路徑
include_directories("../../../midware") #標頭檔案包含路徑
include_directories("../../../public") #標頭檔案包含路徑
link_directories("/usr/lib/x86_64-linux-gnu/c++11") #指定額外的庫鏈結路徑
)#生成test 程式依賴srclist 和其他的cpp檔案
target_link_libraries(test dl libboost_locale.a libboost_system.a libboost_filesystem.a
pthread z rt libboost_thread.a libuuid.a libjansson.a libcurl.so stdc++ $)
#test 需要鏈結的庫
cmake_minimum_required(version 3.5)
)#此庫檔案依賴其他庫
target_link_libraries(stocklib dl libboost_locale.a libboost_system.a libboost_filesystem.a
pthread z rt libboost_thread.a libuuid.a libjansson.a libcurl.so stdc++ $)
cmake使用過程
1. 在cmakelists檔案當前目錄建立個build資料夾
2. cd build 然後執行cmake .. (補充:cmake .. -dcmake_build_type=debug/release 編譯debug或者release版本)
3. 成功的話就會生成makefile檔案
4. 然後 make 就能編譯
CMakeLists檔案的編寫
一 cmake使用慣例 1 在專案根目錄建立乙個build目錄 mkdir build cd build 2 執行 cmake 3 確定生成makefile成功,執行make 二 乙個簡單的例子 假設當前的目錄為test 1 新建hello.cpp 2 新建cmakelists.txt 內容 add...
CmakeLists 使用總結
由於c 更為自由,執行速度較快,所以我們常常會使用c 寫一些演算法,這其中少不了對cmakelists的折騰,這裡會記錄一下我使用cmake的流程以及問題,最後給出乙個使用opencv的小demo 我的理解,cmake就是將makefile進一步封裝,用起來更加友好,我們只要編寫cmakelists...
CMakeLists 在實際專案中的編寫例項
最近在專案中經常需要編寫cmakelists,在此記錄一下正式專案中是如何編寫使用的,特此記錄便於日後查閱。project device authentication cmake minimum required version 3.5 include directories include src...