cmake 編寫步驟

2021-09-29 07:37:29 字數 1454 閱讀 2326

# 最低cmake版本

cmake_minimum_required(version 2.6)

# 工程名

project(websocket)

# 新增頭檔案目錄

include_directories(include)

# 源檔案目錄

aux_source_directory(src dir_srcs)

# 頭檔案目錄

set(include_dir ./include)

# 設定標頭檔案

set(include_files

$/websocketapi.h

$/message_queue.hpp

)# 設定庫輸出目錄

set(library_output_path ../lib/win32)

# 引用庫包含檔案目錄

# include_directories($/include)

if( android )

# 鏈結庫檔案路徑

# link_directories($/lib/armeabi)

# link_directories(c:/workspace/opensource/libs/boost/lib/armeabi)

# link_directories(c:\workspace\opensource\libs\jsoncpp\lib\armeabi)

# 鏈結庫檔案

# link_libraries($/lib/armeabi/libcurl.so)

# link_libraries(c:\workspace\opensource\libs\jsoncpp\lib\armeabi\libjson.so)

elseif( win32 )

# 鏈結庫檔案路徑

# link_directories($/lib/win32)

# link_directories(c:/workspace/opensource/libs/boost/lib/win32)

# link_directories(c:\workspace\opensource\libs\jsoncpp\lib\win32)

# 鏈結庫檔案

# link_libraries($/lib/win32/libcurl_imp.lib)

# link_libraries(c:\workspace\opensource\libs\jsoncpp\lib\win32\libjson.dll.a)

endif()

# 新增新庫

add_library(websock shared $ $)

add_library(websock_static static $ $)

# 庫檔案安裝目錄

if( win32 )

install(targets websock websock_static destination $)

endif

CMake 高階編寫

假定有vegagis工程,工程的目錄結構如下 vegagis目錄下的cmakelists.txt cmake minimum required version 2.8 工程名 project vegagis 工程檔案中使用相對路徑 set cmake suppress regeneration 1 ...

CMake 編寫筆記

cmake官網 cmake minimum required 限定最小cmake版本,例 set 設定變數,例 file 組檔案或資料夾,例 if 判斷,例 message 輸出log,例 include directories 引入頭檔案目錄,使得目錄下的.h hpp檔案可以被引用,例 add e...

cmake 執行步驟

在 linux 平台下使用 cmake 生成 makefile 並編譯的流程如下 編寫 cmake 配置檔案 cmakelists.txt 執行命令cmake path或者ccmake path生成 makefile 1。其中,path是 cmakelists.txt 所在的目錄。使用make命令進...