cmake之install总结(指定安装文件和安装位置)

2023-05-16

背景

cmake不仅可以构建可执行文件,还可以安装。使用CMake,我们可以使用install()命令指定安装规则。只需要指定安装位置和待安装的目标文件,十分简单。

以cmake官方教程为例(3.24版本,Step4:https://cmake.org/cmake/help/v3.24/guide/tutorial/Installing%20and%20Testing.html

可以分为2步:1.在CMakeLists.txt文件中加入install命令;2.使用cmake指令指定安装位置

在CMakeLists.txt文件中加入install命令

首先在子路径下的CMakeLists.txt文件中加入:

install(TARGETS MathFunctions DESTINATION lib)
install(FILES MathFunctions.h DESTINATION include)

这两行的作用是将MathFunctions安装到lib路径下,将MathFunction.h安装到include路径下。

然后在根路径下的CMakeLists.txt文件中加入:

install(TARGETS Tutorial DESTINATION bin)
install(FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h"
  DESTINATION include
  )

这两行的作用是将Tutorial安装到bin路径下,将TutorialConfig.h安装到include路径下。

从CMakeLists.txt的前文可知,Tutorial是可执行文件,MathFunctions是库文件,TutorialConfig.hMathFunction.h是头文件,因此分别安装到bin目录、lib目录和include目录,符合通常规则。

使用cmake指令指定安装位置

如教程中所说,首先使用cmake命令,构建cmake项目。然后可以选择官方安装方式,使用cmake --install .命令安装,命令中可以设定prefix,以指定安装位置。
如果是之前的cmake版本,cmake不支持install选项的话,可以使用make install代替。

PS:怎么指定安装路径的各种方法

方法1:修改cmake文件。在cmake文件中加入set(CMAKE_INSTALL_PREFIX "../install")
方法2:修改cmake命令参数。cmake -DCMAKE_INSTALL_PREFIX="../install"
方法3:使用ccmake调整CMAKE_INSTALL_PREFIX。
方法4(不推荐):使用make命令参数。make DESTDIR=absolute/path install

总结

文末总结了各种指定安装路径的方法,当不想把文件安装到默认位置的时候,可以参考。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cmake之install总结(指定安装文件和安装位置) 的相关文章

随机推荐

  • error while loading shared libraries: libopencv_imgcodecs.so.3.4

    最近给电脑重新安装了opencv3 4 10 xff0c 但是跑工程时却出现这个问题 xff0c 网上百度了一堆 xff0c 发现应该是库设置的问题 xff0c 但是到底是哪里出了问题 xff0c 怎么设置 xff0c 我根据我自己的实际情
  • 六、geotrellis按时间序列存储至hbase

    实现代码如下 xff1a import org apache camel scala dsl builder RouteBuilderSupport import geotrellis raster import geotrellis pr
  • 支持向量机svm及python测试

    from sklearn svm import SVR SVC from sklearn datasets import load boston from sklearn datasets import load wine from skl
  • mlp神经网络及python测试

    关于线性模型 xff1a y 39 61 w 0 x 0 43 w 0 x 0 43 43 w p x p 43 b 其中 xff0c y 39 表示对y的估算值 xff0c x 0 到x p 是样本特征值 w表示每个特征值的权重 xff0
  • linux 安装gdal(含hdf)记录

    一 准备工作 经实践 xff0c 在其他用户下存在某种问题 xff0c 可能是对Centos系统上不熟悉 xff0c 无法解决 xff0c 需在root用户下安装 xff09 xff1a su root 安装编译环境 sudo yum in
  • go语言多线程与并发编程

    go语言并发编程 在了解go语言的并发编程之前 xff0c 我们必须先了解并发和并行的概念 我们知道 xff0c 当启动一个应用的时候实际上是启动了一个进程 xff0c 通过该进程实现资源的调度和分配 xff0c 并且多个进程之间是相互隔离
  • Pycharm 中Available packages nothing to show

    国内源 xff1a 清华 xff1a https pypi tuna tsinghua edu cn simple 阿里云 xff1a http mirrors aliyun com pypi simple 中国科技大学 https pyp
  • 以太坊区块链的区块(Block)结构

    这里以以太坊区块链为基础进行讲解 直接看代码 xff1a 区块结构代码 xff1a block go 1 block的header type Header struct ParentHash common Hash 96 json 34 p
  • go语言连接mongodb数据库

    使用mongodb数据库之前需要先下载安装mongodb服务器端程序 xff0c 这里不再赘述 go语言下使用mongodb步骤如下 xff1a 1 下载mongodb连接驱动mgo 命令行下输入 xff1a go get gopkg in
  • 算法中的常用数学公式

    1 指数 指数是幂运算a a 0 中的一个参数 xff0c a为底数 xff0c n为指数 xff0c 指数位于底数的右上角 xff0c 幂运算表示指数个底数相乘 当n是一个正整数 xff0c a 表示n个a连乘 当n 61 0时 xff0
  • hbase出现org.apache.hadoop.hbase.PleaseHoldException: Master is initializing错误解决

    使用hbase创建namespace和table时提示该错误 xff0c 完整的错误日志如下 xff1a 按照网上的解决思路 xff1a 1 设置主机之间的NTP时间同步 2 修改hbase site xml配置文件 lt property
  • windows下hadoop的部署和使用

    本教程在windows10环境下安装配置hadoop 43 hbase 43 spark 一 下载压缩包 xff1a 1 JavaJDK xff0c 1 8以上 2 Hadoop2 8 3 xff0c 下载地址 xff1a http arc
  • 四、geotrellis发布TMS服务

    本章节将上一章节创建的瓦片发布为TMS服务 本章节将使用akka建立http服务并访问影像瓦片 使用maven构建测试案例 xff0c maven参见上一章节 具体代码如下 xff1a import geotrellis raster im
  • Pyspark实战(四)pyspark操作hbase

    环境配置 xff1a Spark 启动环境中添加 hbase 的 jar 包以及 spark examples的jar包 1 下载spark examples jar包 xff0c 地址https mvnrepository com art
  • 五、geotrellis实现栅格切片并存储至hbase

    部署环境可以参考本栏目的其他章节 1 maven代码如下 xff1a lt dependencies gt lt dependency gt lt groupId gt org apache camel lt groupId gt lt a
  • launch文件和package文件语法

    launch文件语法 参考 xff1a ROS入门之 浅谈launch 沐棋的博客 CSDN博客 roslaunch 补充 xff1a launch prefix 61 command prefix roslaunch 命令 的一个潜在的缺
  • ORB_SLAM2新增稠密建图代码笔记

    接上一篇博客 ORB SLAM2 43 kinect稠密建图实战项目总结 ORB SLAM2 43 kinect稠密建图实战项目总结 好好仔仔的博客 CSDN博客 本篇在此基础上对整个项目的逻辑结构以及代码实现进行梳理 orb slam2新
  • windows下C++学习推荐书籍

    推荐几本书给你们 xff0c 有空可以学习一下 xff1a C 43 43 编程相关 xff1a 1 C 43 43 Primer xff1a C 43 43 的工具书 2 Effective C 43 43 xff1a C 43 43 提
  • stm32IO口八种工作模式详细解析(附原理图)

    目录 工作模式介绍常用IO口工作模式分析实际应用 很多小伙伴们在初学stm32时都对stm32的IO口工作模式的原理和配置不了解 xff0c 所以我整理发表此篇文章作为自己复习和他人参考资料 xff08 注 xff1a 该文章参考了stm3
  • cmake之install总结(指定安装文件和安装位置)

    背景 cmake不仅可以构建可执行文件 xff0c 还可以安装 使用CMake xff0c 我们可以使用install 命令指定安装规则 只需要指定安装位置和待安装的目标文件 xff0c 十分简单 以cmake官方教程为例 xff08 3