3
install (TARGETS ${PROJECT_NAME}_shared DESTINATION ${CMAKE_INSTALL_PREFIX}/lib 
    COMPONENT runtime)
install (TARGETS ${PROJECT_NAME}_static DESTINATION ${CMAKE_INSTALL_PREFIX}/lib 
    COMPONENT development)
install (FILES ${INCLUDES} DESTINATION ${CMAKE_INSTALL_PREFIX}/include
    COMPONENT development)

...
set (CPACK_PACKAGE_FILE_NAME 
    "lib${CPACK_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")

结果我有2个deb包:

libmpreal_0.1.1-1_amd64-development.deb
libmpreal_0.1.1-1_amd64-runtime.deb

但我想为 debian 标准设置另一个名称:

libmpreal-dev_0.1.1-1_amd64.deb
libmpreal_0.1.1-1_amd64.deb

现在我正在使用cmCPackDebGenerator::PackageOnePack方法阅读 代码:

outputFileName(
    std::string(this->GetOption("CPACK_PACKAGE_FILE_NAME")) 
    + "-" + packageName + this->GetOutputExtension()
);

这是否意味着我不能为我的包裹指定名称?!我想犯错。。

4

1 回答 1

1

CPack 生成的包的命名方案不够灵活,无法满足您的需求,有一个未决的错误/功能请求,错误 12997以及一堆相关的错误报告。

简短的回答是:你现在不能做你想做的事。

于 2012-03-08T14:40:38.993 回答