【发布时间】:2015-04-20 07:42:09
【问题描述】:
我正在尝试使用 cmake 2.8.12 制作两个包:第一个包含共享库,第二个包含头文件。显然,我想要两个名称分别为libname 和libname-dev 的包,所以我使用了命令install,没有为共享库指定组件,而与COMPONENT dev 相同的命令用于头文件。在此之前,我定义了一个空的默认组件名称。所以我有一个代码如下:
set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "")
install(TARGETS libname DESTINATION /usr/local/lib)
install(FILES ${header_files} DESTINATION /usr/local/include COMPONENT dev)
但是结果,尽管生成了空的默认组件名称libname-Unspecified 和libname-dev。我觉得这种行为很奇怪,因为我似乎无法用之前描述的名称定义两个包。有什么想法可以通过其他方式做到这一点吗?
【问题讨论】:
-
您是否为 libname 生成了目标?请发布更多您的 CMakeLists.txt 文件
-
@Antonio,当然。此外,如果我在 CMAKE_INSTALL_DEFAULT_COMPONENT_NAME 中设置任何“blah-blah”而不是空名称,它会按预期工作。无论如何,这里有一点简化的 CMakeLists.txt:http://pastebin.com/rvz7dqJm