在 CPack 中分离符号链接以生成 deb
Separating symbolic links in CPack for deb generation
我正在尝试在 CMake 中生成 deb 包。问题是,我无法分离符号 links 以使其符合 Debian 软件包的标准约定:
- lib<名称>.deb
- /usr/lib/<名称>.so.<主要版本>.<次要版本>
- /usr/lib/<名称>.so.<主要版本> -> 模拟 link 到第一个
- lib<名称>-dev.deb
- /usr/lib/
.so -> 将 link 模拟到第一个
- /usr/include/<名称>.h
我想知道的是,如何使用 CPack 的 DEB 生成器将符号 link 分离出来?有没有办法将符号 link 放在不同的组件中?
谢谢
IRC 上的某人 (#cmake@freenode) 指出我可以使用 NAMELINK_ONLY 作为一个安装命令并使用 NAMELINK_SKIP 进行重复安装。然后,如果我为每个组件指定不同的组件,它就会具有我正在寻找的行为。
示例:
install(TARGETS project
LIBRARY
DESTINATION lib
COMPONENT runtime
NAMELINK_SKIP
)
install(TARGETS project
LIBRARY
DESTINATION lib
COMPONENT dev
NAMELINK_ONLY
)
我正在尝试在 CMake 中生成 deb 包。问题是,我无法分离符号 links 以使其符合 Debian 软件包的标准约定:
- lib<名称>.deb
- /usr/lib/<名称>.so.<主要版本>.<次要版本>
- /usr/lib/<名称>.so.<主要版本> -> 模拟 link 到第一个
- lib<名称>-dev.deb
- /usr/lib/
.so -> 将 link 模拟到第一个 - /usr/include/<名称>.h
- /usr/lib/
我想知道的是,如何使用 CPack 的 DEB 生成器将符号 link 分离出来?有没有办法将符号 link 放在不同的组件中?
谢谢
IRC 上的某人 (#cmake@freenode) 指出我可以使用 NAMELINK_ONLY 作为一个安装命令并使用 NAMELINK_SKIP 进行重复安装。然后,如果我为每个组件指定不同的组件,它就会具有我正在寻找的行为。
示例:
install(TARGETS project
LIBRARY
DESTINATION lib
COMPONENT runtime
NAMELINK_SKIP
)
install(TARGETS project
LIBRARY
DESTINATION lib
COMPONENT dev
NAMELINK_ONLY
)