【cmake学习记录】

参考链接

参考1: cmake实操
参考2:博客

开始

对于规范的cmake方式,需要有文件格式,在build文件夹中使用cmake .. 进行编译,产生的各种文件,包括可执行文件都在build下。例,如果cpp文件的名字叫helloworld.cpp,那么在build文件夹中就会生成helloworld可执行使用./helloworld执行。

CMakeList.txt文件的编写,总体了解

同一目录下有多个源文件


cmake_minimum_required (VERSION 2.8)
#要求的最低版本

project (helloslam)
#用这个指令定义工程名称

add_executable(helloslam helloslam.cpp)
#定义了一个为hello的可执行文件,相关的源文件是helloslam.cpp
对于一般的写法要用到SET指令,见下面关于SET的说明

add_library (hello_shared SHARED libhelloslam.cpp)
#关于静态库与共享库,见下文。
add_executable(useHello useHello.cpp)

target_link_libraries(useHello hello_shared)

更加规范的写法

请添加图片描述
请添加图片描述

#外
cmake_minimum_required (VERSION 2.8)

project (demo)

add_subdirectory (src)

#src
aux_source_directory (. SRC_LIST)

include_directories (../include)

add_executable (main ${SRC_LIST})

set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)

. 为当前目录
…/ 为上级目录

编写的步骤

project(…)
理解:会自动创建两个变量,PROJECT_SOURCE_DIRPROJECT_NAME,
${PROJECT_SOURCE_DIR}:本CMakeLists.txt所在的文件夹路径
${PROJECT_NAME}:本CMakeLists.txt的project名称

aux_source_directory(路径 变量)
理解:获取路径下所有的.cpp/.c/.cc文件,并赋值给变量中。
用法:aux_source_directory(. SRC_LIST),aux_source_directory把当前目录下的源文件存列表存放到变量SRC_LIST里,然后在add_executable里调用SRC_LIST(注意调用变量时的写法)。
add_executable(main ${SRC_LIST})调用

set(变量 文件名/路径/…)
给文件名/路径名或其他字符串起别名,用${变量}获取变量内容,set(变量 文件名/路径/…)

set( SRC_LIST ./main.c ./testFunc1.c ./testFunc.c) #将源文件放入变量中。

使用同样的方法调用即可,add_executable(main ${SRC_LIST})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值