CMAKE_INSTALL_PRFEIX 和 DESTDIR 之间有什么区别?什么时候在哪里使用?

问题描述 投票:0回答:2

CMAKE_INSTALL_PREFIX 和 DESTDIR 之间有什么区别?什么时候在哪里使用?

来自 cmake doc 不太清楚应该使用哪个?

我可以将 CMAKE_INSTALL_PREFIX 设置为一个路径,并将 DESTDIR 设置为另一条与提供给 CMAKE_INSTALL_PREFIX 的路径不同的路径(不是我想要的,但这样做意味着什么)?

概念澄清。没有尝试过任何事情。

installation cmake makefile
2个回答
1
投票

CMAKE_INSTALL_PREFIX
特定于
cmake
,并且在
cmake
本身内具有明确定义的语义。

DESTDIR
make
(和其他类似工具)的约定,它指定应在系统上安装某些内容的根目录。

一个常见的例子与打包软件有关。开箱即用,如果本地编译,它将安装到

/usr/local
;但是包管理器在构建包(
.deb
.rpm
等)时会希望“安装”到临时构建目录中,并在其中安装到
usr
而不是
usr/local

另请参阅 GNU 编码标准中的

DESTDIR


0
投票

据我了解,

CMAKE_INSTALL_PREFIX
指定软件的安装位置 - 因此它控制共享库的
rpath

DESTDIR
用于临时将软件安装在其他地方 - 但不更改
rpath
和其他路径 - 通常用于二进制打包目的。

例如,您可以将

DESTDIR
设置为某个临时目录来创建二进制包 - 旨在安装到
CMAKE_INSTALL_PREFIX
中。

© www.soinside.com 2019 - 2024. All rights reserved.