首页 > 解决方案 > cpack 创建一个 ld.so.conf

问题描述

我正在使用 cpack 创建一个 Debian 包。并将软件包安装在/opt/interfaces/lib,由于库不存在于标准位置,我想添加/etc/ld.so.conf.d/interfaceslibs.conf文件并拥有/opt/interfaces/lib.

我不太确定如何使用 CMake 的 cpack 来实现这一点。我还听说,不要将此文件制作/创建为安装后脚本,因为它们不能被apt remove package. 不幸的是,我错过了一些关键词/例子来完成这项任务。是否可以指出一些简单的例子或一些在线参考?

谢谢

标签: cmakedebiancpack

解决方案


  1. 很可能您应该使用 生成此文件configure_file(),因为它的内容取决于${CMAKE_INSTALL_FULL_LIBDIR}.

  2. CMakeLists.txt只需要将生成的文件安装到/etc/ld.so.conf.d/带有install(FILES...).

  3. CPack 会将其包含在*.deb包中。

  4. 如果你的包提供了任何动态库,CPack 会生成一个简单的post(inst|rm)脚本(运行ldconfig),或者你可以通过相应的 CPackDeb 变量提供你自己的脚本。


推荐阅读