CMAKE初见

学习了几天cmake,其实cmake还是写的比较死的,没makefile那么灵活,但是相对也是好操作些,学习cmake其实就从案例入手最好

参考网站link

#指出最小支持的cmake版本
cmake_minimum_required(VERSION 2.8)
#指出工程名称,一般也是最终生成程序的名称
project(DEMO4)
# 这句话的意思是将DIR_SRC指代的所有源码都编译后链接到DEMO4中,下面将说如何取得DIR_SRC
add_executable(DEMO4 ${DIR_SRC})

# 也可以这样写:
add_executable(DEMO4 main.cc)
# 将本目录内所有源码都添加,作为一个变量存储在DIR_SRC中,和makefile的patsubstr很像
aux_source_directory(. DIR_SRC)
# 链接库的做法:意思是,将EXTRA_LIBS都链接到
target_link(DEMO4 ${EXTRA_LIBS})

# 也可以这样写:
target_link(DEMO4 libMysql)
# 添加配置文件,需要注意的是,里面的东西需要加引号,这是我发现的第一个需要添加引号的东西
configure_file(
    "${PROJECT_SOURCE_DIR}/config.h.in"
    "${PROJECT_BINARY_DIR}/config.h"
)

#添加引用文件目录
include_directories(${PROJECT_SOURCE_DIR}/include)
# 添加子目录,这个个人感觉,是子目录需要编译出静态/动态库的时候,或者子目录有东西生成的时候使用,但是隐含了这样的一种关系:子目录生产出东西,肯定是在 ***调用***  的目录之前!!!!
add_subdirectory(${PROJECT_SOURCE_DIR}/math)
# 也可以这样写:
add_subdirectory(./math)
# 如果变量不存在,创建变量,如果存在,则赋值。以下这句话的意思是,将${EXTRA_LIBS} 以及libMath设置为EXTRA_LIBS,显然,就是说,往EXTRA_LIBS变量中,再添加库libMath
set(EXTRA_LIBS ${EXTRA_LIBS} libMath)
# 链接库位置
link_directories(/usr/local/Celluar/Poco)
# 意思是说,从这里找链接库
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值