CentOS6.9 / cmake 3.6.1
In meinem Projekt versuche ich, mehrere Komponenten zu erstellen, als Laufzeit-, Entwicklungs- und Debuginfo-Pakete für sie zu erstellen, aber ich konnte für jede Komponente nicht mehr als eine U / min erzeugen. Ich habe ein kleines Projekt erstellt, um das Problem zu zeigen:
./ include / Box.hpp
%Vor%./ source / Box.cpp
%Vor%./ source / app.cpp
%Vor%./ CMakeLists.txt
%Vor%Konsole:
%Vor%Aber nach diesen Aktionen sehe ich nur eine 'devel' rpm und keine rpm mit debuginfo. Ich habe mir die Dokumentation angeschaut und konnte keine Ahnung finden, wo ich falsch liege. Könnte mir jemand das erklären? Vielen Dank für Anregungen.
Zusammenfassung
Ihr Beispiel funktioniert im Allgemeinen, Sie müssen wahrscheinlich nur Ihre CMake-Version aktualisieren.
Die Details
Ich konnte Ihr Problem mit meinem Ubuntu 14.04.5 LTS und CMake 3.10.2 nicht reproduzieren. Es wird ein ./BUILD/home-devel-debuginfo.rpm
generiert.
Also drei Dinge, die ich bei Ihrem gegebenen Beispiel bemerkt habe:
Die CPACK_RPM_DEBUGINFO_PACKAGE
wurde in CMake Version 3.7 . Die erste Zeile von CMakeLists.txt
sollte also lauten:
Weitere Informationen zur Aktualisierung Ihres CMake auf die neueste Version unter Linux finden Sie unter "ccmake mit cmake Version 3.10 ".
Wenn Sie herausfinden möchten, welche CMake-Version das Minimum ist, um ein bestimmtes Feature zu unterstützen - da dies nicht Teil der offiziellen Dokumentation von CMake ist -, lesen Sie bitte " Suche nach der CMake-Version, in der ein Feature eingeführt wurde ".
Die Dokumentation besagt, dass die Variable CPACK_BUILD_SOURCE_DIRS
obligatorisch ist. Und wenn ich die folgende Zeile hinzufüge, werde ich viele rpm
Generierungswarnungen los:
Es bestand eine Abhängigkeit der Verpackung debuginfo
vom Paket elfutils
. Also musste ich tun: