cmake 入门一 多目录编译与安装

文章描述了如何配置一个CMake工程,包括创建src和doc子目录存放源代码和文档,编写CMakeLists.txt文件来指定安装可执行文件、脚本及文档的位置,最终设置安装路径为CMAKE_INSTALL_PREFIX。在src子目录中,定义了可执行目标并安装到bin目录。
摘要由CSDN通过智能技术生成

工程描述

1,为工程添加一个子目录src,用来存储源代码;
2,添加一个子目录doc,用来存储这个工程的文档hello.txt
3,在工程目录添加文本文件COPYRIGHT, README;
4,在工程目录添加一个runhello.sh 脚本,用来调用hello二进制
4,将构建后的目标文件放入构建目录的bin 子目录;
5,最终安装这些文件:将hello二进制与runhello.sh安装至CMAKE_INSTALL_PREFIX/bin,将
doc目录中的 hello.txt 以及COPYRIGHT/README 安装到CMAKE_INSTALL_PREFIX/share/doc/cmake/t2
CMAKE_INSTALL_PREFIX在执行cmake是指定为-DCMAKE_INSTALL_PREFIX=/tmp/t2/usr
即cmake -DCMAKE_INSTALL_PREFIX=/tmp/t2/usr …

1 工程结构

![在这里插入图片描述](https://img-blog.csdnimg.cn/d6cfca1c8fa54bdbbf4a5f76ec5b0ea6.png

1.1 工程目录下CMakeLists.txt

# 指定工程名称
PROJECT(HELLO)

# 安装 可执行二进制文件
INSTALL(PROGRAMS runhello.sh DESTINATION bin)

# 目标二进制hello的安装这里会执行错误,在src下进行安装
# INSTALL(TARGETS hello RUNTIME DESTINATION bin)

# 安装普通文件
INSTALL(FILES COPYRIGHT README DESTINATION share/doc/cmake/t2)

# 安装目录
INSTALL(DIRECTORY doc/ DESTINATION share/doc/cmake/t2)

# 添加子目录,src下有编译源文件,CMakeLists.txt, 生成的可执行文件在bin目录下
ADD_SUBDIRECTORY(src bin)

1.2 src目录下的CMakeLists.txt

# 生成目标文件hello
ADD_EXECUTABLE(hello main.c)

# 安装目标二进制文件
INSTALL(TARGETS hello RUNTIME DESTINATION bin)

1.3 编译目录下执行cmake

在这里插入图片描述

1.4 生成的安装目录结构

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值