【CMake】常见目录——10.1安装项目

CMake中的目录

常见目录所代表的含义

PROJECT_SOURCE_DIR:工程的根目录
 
PROJECT_BINARY_DIR:运行cmake命令的目录,通常为${PROJECT_SOURCE_DIR}/build
 
PROJECT_NAME:返回通过 project 命令定义的项目名称
 
CMAKE_CURRENT_SOURCE_DIR:当前处理的 CMakeLists.txt 所在的路径
 
CMAKE_CURRENT_BINARY_DIR:target 编译目录
 
CMAKE_CURRENT_LIST_DIR:CMakeLists.txt 的完整路径
 
EXECUTABLE_OUTPUT_PATH:重新定义目标二进制可执行文件的存放位置
 
LIBRARY_OUTPUT_PATH:重新定义目标链接库文件的存放位置
 

安装到标准位置


CMAKE_INSTALL_BINDIR:定义用户可执行文件所在目录,即所选安装目录下的bin文件夹;
CMAKE_INSTALL_LIBDIR:定义(动态库和静态库)所在的子目录。在64位系统上是lib64,在32位系统是lib;
CMAKE_INSTALL_INCLUDE:C文件头文件所在的子目录,变量为include;

RPATH是什么

hello-world_wDSO可执行文件链接到libmessage.so.1,这意味着在执行时,将加载动态库。因此有关库位置的信息需要在某个地方进行编码,以便加载程序能够成功的完成其工作。库的定位有两种方法:

  • 通过设置环境变量通知链接器,GNU/Linux上,需要将路径添加到LD_LIBRARY_PATH环境变量中,可能污染,或冲突;
  • 可以编码到可执行文件中,使用RPATH设置可执行文件运行时的搜索路径;

Cmake CookBook中10.1安装项目讲解

  1. 项目主要包括了三个CmakeLists.txt文件,我们主要关注的是主的和src文件夹下的;
  2. 主CmakeLists.txt中的内容:项目基本设置、构建好的target的构建目录、构建好的target的安装目录;
  3. src文件架下的内容包括:库实现文件,main函数;
  4. src文件夹下的CMakeLists.txt中的内容包括:依赖项的处理;定义动态库;添加可执行文件;
  5. rpath的定义:可执行文件会依赖动态库,通过设置rpath来进行搜索;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值