cmake 为什么AssertCPACK_DEBIAN_DEBUGINFO_PACKAGE不会生成.ddeb文件?

fykwrbwg  于 2022-11-11  发布在  其他
关注(0)|答案(1)|浏览(108)

我尝试使用cpack为我的基于cmake的项目创建.ddeb文件(包含调试符号信息),使用set(CPACK_DEBIAN_DEBUGINFO_PACKAGE ON),但不知道为什么我没有在正确生成.deb文件的同时生成.ddeb文件。main.cpp的内容是最少的,也是不重要的;下面是我CMakeLists.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)

我在cmake 3.16.3(ubuntu 20.04)和3.19.1版本上都试过了,但得到的结果是一样的。

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

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

**编辑:**在cmake版本3.22.1(ubuntu 22.04)中,这个bug似乎已经修复; .ddeb文件正在生成耶!

eh57zj3b

eh57zj3b1#

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

相关问题