本文主要是希望通過使用cmake構建一個簡單的工程瘫怜,來學習cmake的一些指令
存在如下的目錄結構耍目,其中include存放頭文件阻星,src存放源碼俊扭,lib存放庫文件(靜態(tài)或動態(tài)庫)
├── CMakeLists.txt
├── include
│ └── sum.h
├── lib
├── src
│ ├── main.cpp
│ └── sum.cpp
下面通過三種方法構建工程:
1、直接編譯源碼
cmake_minimum_required (VERSION 2.6)
project (Helloworld)
INCLUDE_DIRECTORIES(include)
SET(SRC src/main.cpp src/sum.cpp)
ADD_EXECUTABLE(Helloworld ${SRC})
2拦坠、通過生成靜態(tài)庫连躏,鏈接到可執(zhí)行文件
首先通過
cmake_minimum_required (VERSION 2.6)
project (Helloworld)
SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
INCLUDE_DIRECTORIES(include)
SET(SRC src/main.cpp)
add_library(sum STATIC src/sum.cpp)
生成靜態(tài)庫,然后通過調用靜態(tài)庫構建工程
cmake_minimum_required (VERSION 2.6)
project (Helloworld)
INCLUDE_DIRECTORIES(include)
SET(SRC src/main.cpp)
link_libraries("/Users/zhang/Desktop/test/lib/libsum.a")
ADD_EXECUTABLE(Helloworld ${SRC})
3贞滨、通過生成動態(tài)庫入热,鏈接到可執(zhí)行文件
生成動態(tài)庫方法同2,只不過需要把STATIC改成SHARED
add_library(sum SHARED src/sum.cpp)
鏈接方式為
link_libraries("/Users/zhang/Desktop/test/lib/libsum.dylib")
常用指令
1、set(target path):設置環(huán)境變量
2勺良、include_directories(path):添加頭文件路徑
3绰播、link_directories(path):添加庫文件路徑
4、link_library(path/xxx.so或者.a, .dylib):添加鏈接庫
5尚困、add_library(target [SHARED/STATIC] source):生成庫文件
6蠢箩、add_executable(target source): 生成可執(zhí)行文件