【问题标题】:CMake CPack debian packagesCMake CPack debian 软件包
【发布时间】:2012-04-22 14:49:04
【问题描述】:

是否有人为具有 Qt 和 OpenGL 依赖项的 debian 包编写了 CPack 脚本的工作示例?

我已经设置了这个

set (CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.3.1-6), libgcc1 (>= 1:3.4.2-12), libQtOpenGL (>=4.6.0), libQtCore (>=4.6.0), libQtGui (>=4.6.0), libglut (>=3.0), libICE (>=6.0), libX11 (>=6.0), libXext (>=6.0), libXmu (>=6.0), libXi (>=6.0), libstdc++ (>=6.0), libm (>=6.0), libgcc_s (>=1.0), libc (>=6.0), libGLU, libGL (>=1.0), libpthread" )

我四处搜索,但从未找到一个可行的示例。我的主要问题是如何首先为 libGLU 设置依赖项,然后为 libGL 和以下库设置依赖项。

一旦我创建了安装程序说的 deb

 **Error: Dependency is not satisfiable: libXXX**

其中 XXX 是我之前列出的库之一(主要是 Qt 库)

目前我的 cmake 版本是 2.8.2 但是 cpack_add_component 命令不起作用

【问题讨论】:

    标签: qt cmake debian cpack


    【解决方案1】:

    您可以使用CPACK_DEBIAN_PACKAGE_SHLIBDEPS CPack 变量:

    set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
    

    这将自动解决依赖关系。

    【讨论】:

    • 谢谢。我正在寻找那个选项!
    【解决方案2】:

    我认为您不能在 CMake 中“订购”依赖项。 如果您想要一个 CMakeLists 生成具有 qt 依赖项的 .deb 的工作示例,请查看:

    project(QExhibitor)
    cmake_minimum_required(VERSION 2.8)
    
    FIND_PACKAGE(Qt4 REQUIRED QtNetwork QtGui QtCore QtXml)
    FIND_PACKAGE(CSSRobopec REQUIRED)
    #Some non interesting things ...
    #.....
    add_executable(QExhibitor ${QT_SOURCES} ${QT_RESOURCES_CPP} ${QT_FORMS_HPP} ${QT_MOC_HPP})
    target_link_libraries(QExhibitor ${QT_LIBRARIES} ${CSSRobopec_LIBRARIES})
    
    INSTALL(TARGETS QExhibitor DESTINATION /reetiPrograms/RApplications/Applications/)
    INSTALL(FILES Icons/RQExhib.png DESTINATION /reetiPrograms/RApplications/Icons)
    
    set(CPACK_GENERATOR "DEB")
    set(CPACK_PACKAGE_VERSION_MAJOR "0")
    set(CPACK_PACKAGE_VERSION_MINOR "2")
    set(CPACK_PACKAGE_VERSION_PATCH "0")
    set(CPACK_DEBIAN_PACKAGE_DEPENDS "cssrobopec,libqt4-xml,libqt4-network,libqtgui4,treeupdatablereeti")
    set(CPACK_PACKAGE_DESCRIPTION "Configure UExhibitor and launch missions")
    set(CPACK_PACKAGE_CONTACT "Adrien BARRAL aba@robopec.com")
    set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/Debian/postinst")
    
    include(CPack)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多