问题描述
有人处理过带有Qt和OpenGL依赖关系的Debian软件包的CPack脚本的工作示例吗?
Has someone worked with a working example of a CPack script for debian packages with Qt and OpenGL dependencies?
我已经设置了这个
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和以下库设置依赖关系。
I googled around but never found a working example. My main problem is how to set the dependencies first for libGLU, then for libGL and the following libraries.
一旦我创建了安装程序说的deb
Once I've create the deb the installer says
**Error: Dependency is not satisfiable: libXXX**
其中XXX是我之前列出的库之一(主要是Qt库)
where XXX is one the libraries I listed before (mainly Qt libraries)
当前我的cmake版本是2.8.2,但是cpack_add_component命令不起作用
Currently my cmake version is 2.8.2 but cpack_add_component command doesn't work
推荐答案
我认为您无法排序 CMake中的依赖项。
如果您想要一个生成带有qt依赖项的.deb的CMakeLists的工作示例,请查看:
I don't think that you can "order" the dependencies in CMake.If you want a working example of a CMakeLists generating a .deb with qt dependencies look at :
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)
这篇关于CMake CPack debian软件包的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!