CMAKE_INSTALL_PRFEIX和DESTDIR有什么区别?何时何地使用?

weylhg0b  于 2023-05-17  发布在  其他
关注(0)|答案(2)|浏览(217)

CMAKE_INSTALL_PREFIX和DESTDIR有什么区别?何时何地使用?
cmake doc它不是很清楚,以哪一个应该使用?
我是否可以将CMAKE_INSTALL_PREFIX设置为一个路径,并将DESTDIR设置为另一个与CMAKE_INSTALL_PREFIX提供的路径不同的路径(不是我想这样做,但这样做意味着什么)?
概念澄清。我什么都没做。

mnowg1ta

mnowg1ta1#

据我所知,CMAKE_INSTALL_PREFIX指定了软件应该安装在哪里--因此它控制着rpath的共享库。
DESTDIR用于 * 临时 * 在其他地方安装软件-但不更改rpath和其他路径-通常用于二进制打包目的。
例如,您可以将DESTDIR设置为某个临时目录,以创建一个二进制包,该包将安装到CMAKE_INSTALL_PREFIX中。

qgelzfjb

qgelzfjb2#

CMAKE_INSTALL_PREFIX特定于cmake,并且在cmake本身中具有定义良好的语义。
DESTDIRmake(和其他类似工具)的约定,它指定了系统上应该安装的根目录。
一个常见的例子与打包软件有关。开箱即用,如果在本地编译,它将安装到/usr/local;但是包管理器将希望“安装”到临时构建目录中,并且在该目录中安装到usr而不是usr/local
参见DESTDIR in the GNU Coding Standard.

相关问题