3、Cmake常用用法及完整用例

1、用例
1.1、目录结构:

/test  
——/src 
————main.cpp 
————CMakeLists.txt  
——CMakeLists.txt    

1.2、CMakeLists.txt内容
1) /test/CMakeLists.txt

cmake_minimum_required(VERSION 3.9)  
project(HelloWorld5)  
set(CMAKE_CXX_STANDARD 11)  
add_subdirectory(src temp)   

2) /test/src/CMakeLists.txt

cmake_minimum_required(VERSION 3.9)  
set(CMAKE_CXX_STANDARD 11)   
aux_source_directory(. source_list)  
add_executable(HelloWorld ${source_list})   
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/../bin/)  

2、语法解析:

2.1、add_subdirectory(source_dir [binary_dir] [EXCLUDE_FROM_ALL])
作用: 向当前工程添加子目录
source_dir指定源CMakeLists.txt和代码文件所在的目录;
binary_dir指定输出文件(中间二进制文件与目标二进制文件)放置的目录,不指定则在构建目录下。

2.2、aux_source_directory(<dir> <variable>)
作用: 收集指定目录中所有源文件的名称,并将列表存储在提供的<variable>变量中
例: 查找当前目录下的所有源文件,并将文件保存到 DIR_SRCS 变量中

aux_source_directory(. DIR_SRCS)   

2.3、set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/…/bin/)
作用: 指定可执行文件放置目录

2.4、INSTALL指令和CMAKE_INSTALL_PREFIX变量

1)INSTALL指令:INSTALL(TARGETS targets...[ARCHIVE|LIBRARY|RUNTIME][DESTINATION <dir>])  

作用: 安装发布件到指定目录
例:INSTALL(TARGETS myrun RUNTIME DESTINATION bin):安装可执行文件myrunbin目录
可以用shell脚本的cp代替其基础用法

2)CMAKE_INSTALL_PREFIX变量: 

作用: 定义发布件的安装路径,即路径${CMAKE_INSTALL_PREFIX}/<DESTINATION定义的路径>
例:cmake .. -DCMAKE_INSTALL_PREFIX=/usr/dir1:安装发布件到/usr/dir1/bin CMAKE_INSTALL_PREFIX的默认定义是/usr/local

3、参考资料:
《CMake实践》笔记二:INSTALL/CMAKE_INSTALL_PREFIX

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值