cmake - 为什么断言 CPACK_DEBIAN_DEBUGINFO_PACKAGE 不会生成 .ddeb 文件?
问题描述
我正在尝试使用为我的基于项目cpack
创建.ddeb
文件(包含调试符号信息),但无法说明为什么我没有与正确生成的文件一起生成文件。的内容是最小的和不重要的;这是我的文件:cmake
set(CPACK_DEBIAN_DEBUGINFO_PACKAGE ON)
.ddeb
.deb
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
当然应该创建一个单独的文件,因为我肯定没有.debug
在包中看到文件.deb
(使用dpkg --contents
)...
解决方案
看起来这根本不是使用问题——它只是一个上游错误,就像它坏了一样。
推荐阅读
- javascript - Terser CLI:如何删除评论?
- c# - 在单个 .sln 中管理本地 nuget 依赖项
- visual-studio-code - ElixirLS 调试器在与 Phoenix 和 VSCode 一起使用时意外停止
- c# - ConnectionFactory 从 .net 核心注册服务创建了太多连接
- javascript - 如何使用 babel 将我的 nodejs 代码投入生产?
- c# - 为什么我在 Visual Studio 中弹出一个提示 System ArgumentNullExpection 已被抛出?
- javascript - 如何在我的 Aurelia 项目中本地使用 AWS 开发工具包
- java - java:在一个变量上使用 volatile VS 每个变量
- php - 使用php将文件上传到表单需要什么?
- java - 为什么我的由 Spring Data 和 Hibernate 生成的准备好的语句为“null”?