# 最低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命令進...