0


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

背景

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

总结

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

标签: linux 软件构建

本文转载自: https://blog.csdn.net/luo_lucky/article/details/127624923
版权归原作者 luo_lucky 所有, 如有侵权,请联系我们删除。

“cmake之install总结(指定安装文件和安装位置)”的评论:

还没有评论