我尝试使用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
文件正在生成耶!
1条答案
按热度按时间eh57zj3b1#
看起来这根本不是使用问题--只是一个上游错误,就像,它坏了。