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 に答える