首页 > 解决方案 > 为什么断言 CPACK_DEBIAN_DEBUGINFO_PACKAGE 不会生成 .ddeb 文件?

问题描述

我正在尝试使用为我的基于项目cpack创建.ddeb文件(包含调试符号信息),但无法说明为什么我没有正确生成的文件一起生成文件。的内容是最小的和不重要的;这是我的文件:cmakeset(CPACK_DEBIAN_DEBUGINFO_PACKAGE ON).ddeb.debmain.cppCMakeLists.txt

cmake_minimum_required(VERSION 3.13)
  
set(TEST_CPACK_DDEB_VERSION 0.7.6)
set(PROJECT_NAME TestCPackDDEB)
set(TEST_CPACK_DDEB_PROJECT TestCPackDDEBProject)
project(${PROJECT_NAME} VERSION ${TEST_CPACK_DDEB_VERSION} LANGUAGES CXX)

include(GNUInstallDirs)

set(SOURCES main.cpp)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
add_executable(${PROJECT_NAME} ${SOURCES})

set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17)

install(TARGETS ${PROJECT_NAME}
        DESTINATION /usr/bin)

export(PACKAGE ${PROJECT_NAME})
set(CPACK_PACKAGE_NAME "testcpackddeb")
set(CPACK_PACKAGE_CONTACT "L User <luser@gmail.com>")
set(CPACK_PACKAGE_DESCRIPTION "Not just another generator")
set(CPACK_DEB_COMPONENT_INSTALL ON)
set(CPACK_DEBIAN_COMPRESSION_TYPE "gzip")
set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
set(CPACK_DEBIAN_DEBUGINFO_PACKAGE ON)
set(CPACK_DEBIAN_PACKAGE_DEPENDS "")
include(CPack)

我已经在cmake3.16.3 (ubuntu 20.04) 和 3.19.1 版本中尝试过这个,但得到了相同的结果。这是我运行的命令序列:

mkdir build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j 8
cpack -G DEB

.ddeb当然应该创建一个单独的文件,因为我肯定没有.debug在包中看到文件.deb(使用dpkg --contents)...

标签: cmakedebcpack

解决方案


看起来这根本不是使用问题——它只是一个上游错误,就像它坏了一样。


推荐阅读