cmake与CMakeLists

一、基本语法

1、最小cmake版本:

cmake_minimum_required(VERSION 3.4.1)

2、指定项目名称:

project(demo)

3、添加源文件

aux_source_directory(. SRC_LIST) # 搜索当前目录下的所有.cpp文件,使用符号SRC_LIST代表源文件

4、添加头文件

include_directories(./)

5、设置编译类型

(1)生成可执行文件

add_executable(demo ${SRC_LIST}) # 生成可执行文件

(2)生成静态库

add_library(common STATIC util.cpp) # 生成静态库,第二个参数默认为STATIC 

(3)生成动态库

add_library(common SHARED util.cpp) # 生成动态库或共享库

6、添加链接库

target_link_libraries(demo dl)
target_link_libraries(demo libface.a) # 链接libface.a
target_link_libraries(demo libface.so) # 链接libface.so

7、编译指定文件夹下的CMakeLists.txt

# 编译math
add_subdirectory(math)
# 添加态库路径
link_directories(${PROJECT_SOURCE_DIR}/math)

add_executable(${PROJECT_NAME} ${DIR_SRC})
target_link_libraries(${PROJECT_NAME} math)

math目录下文件
    math.cc
    CMakeLists.txt

    CMakeLists.txt文件内容:
    cmake_minimum_required (VERSION 2.8)    #指定最cmake小版本
    project(math)    #指定工程名字
    aux_source_directory(. DIR_SRCS)  #添加源文件  
    add_library(math ${DIR_SRCS}) #生成静态库

8、设置编译参数

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")

或者 

add_compile_options(-fPIC)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值