如何使用CPack将文件添加到debian包中?

我正在使用Cmake和Cpack来创建debian包。 我想使用Cpack生成一个包,将该文件安装到特定位置。 (例如/ usr / lib / usr / include / aaa) 每个库和头文件都在install命令中指定, 我编写CPack选项并将CPack包含在根CMakeLists.txt中 (确保根和中间CMakeList.txt只有set或add_subdirectory命令) 项目目录如下所示。
root(CMakeLists.txt CPack) ┬AAA(CMakeLists.txt)─┬─AAA2(CMakeLists.txt install)-src-include
                           │                    └─AAA3(CMakeLists.txt install)-src-include
                           ├BBB(CMakeLists.txt)─┬─BBB2(CMakeLists.txt install)-src-include
...
安装命令似乎喜欢:
ADD_LIBRARY(${AAA2} SHARED ${CMAKE_CURRENT_SOURCE_DIR}/${AAA2_SOURCE_DIR}/AAA.c)
INSTALL(TARGETS ${AAA2} DESTINATION /usr/lib)
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${AAA_INCLUDE_DIR}/AAA2.h DESTINATION /usr/include/AAA)
我用cmake尝试使用“make install”命令make package cpack制作debian包但没有任何文件。 我做错了什么?如何使用cpack将文件添加到debian包中?     
已邀请:
您正在使用安装规则DESTINATION值的绝对路径:(即“/ usr / lib”) 仅使用“lib”。它将放在CMAKE_INSTALL_PREFIX下面,因为它不是绝对路径。 您可以使用CMAKE_INSTALL_PREFIX控制“/ usr”部分,或者稍后根据需要使用某些CPACK_ generator特定的变量(如CPACK_PACKAGING_PREFIX)。 (希望您甚至不需要,因为根据您正在创建的CPack包的类型,默认行为应该足够大。) 您应该避免在CMake安装规则中使用绝对路径,除非该文件必须始终安装在所有平台上的该位置。     

要回复问题请先登录注册