在CPack中分离符号链接以生成deb

时间:2015-01-22 13:14:34

标签: cmake debian deb cpack software-packaging

我正在尝试在CMake中生成deb包。问题是,我无法分离符号链接,以便它符合Debian软件包的标准约定:

  • LIB<名称>的.deb
    • /usr/lib/<name>.so.<major version&gt;。&lt; minor version&gt;
    • /usr/lib/<name>.so.<major version&gt; - &GT; sim链接到第一个
  • LIB&LT;名称&gt; -dev.deb
    • /usr/lib/<name>.so - &gt; sim链接到第一个
    • /usr/include/<name>.h

我想知道的是,如何使用CPack的DEB生成器将sym链接分开?有没有办法将符号链接放在另一个COMPONENT中?

由于

1 个答案:

答案 0 :(得分:1)

IRC上的某人(#cmake @ freenode)指出我可以使用NAMELINK_ONLY执行一个安装命令,并使用NAMELINK_SKIP重复安装。然后,如果我为每个指定不同的COMPONENT,它就会有我正在寻找的行为。

示例:

install(TARGETS project
        LIBRARY
        DESTINATION lib
        COMPONENT runtime
        NAMELINK_SKIP
)

install(TARGETS project
        LIBRARY
        DESTINATION lib
        COMPONENT dev
        NAMELINK_ONLY
)