2012-04-10 13 views
3

Hat jemand mit einem Arbeitsbeispiel für ein CPack-Skript für Debian-Pakete mit Qt- und OpenGL-Abhängigkeiten gearbeitet?CMake CPack Debian-Pakete

habe ich setzen Sie diesen ein

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") 

ich um gegoogelt, aber nie ein funktionierendes Beispiel gefunden. Mein Hauptproblem ist, wie man die Abhängigkeiten zuerst für libGLU, dann für libGL und die folgenden Bibliotheken setzt.

Einmal habe ich die deb das Installationsprogramm erstellen, sagt

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

wobei XXX eine der Bibliotheken, die ich vor aufgelistet (hauptsächlich Qt-Bibliotheken)

Derzeit meine Cmake Version 2.8.2 aber cpack_add_component Befehl funktioniert nicht

Antwort

6

Ich glaube nicht, dass Sie die Abhängigkeiten in CMake "bestellen" können. Wenn Sie ein funktionierendes Beispiel eines CMakeLists ein .deb mit qt Abhängigkeiten wollen Generierung sehen:

set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) 

automatisch Dies wird lösen Abhängigkeiten:

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 [email protected]") 
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/Debian/postinst") 

include(CPack) 
Verwandte Themen