Das Packen eines CMake-Projekts (libRocket) in eine .deb-Datei, das Build-Skript befindet sich jedoch in einem Unterordner

7

Ich versuche, ein .deb-Paket für libRocket (http://librocket.com/) zu erstellen, aber das Build-Skript befindet sich nicht im Quellstamm, sondern in einem Unterordner (/ Build). Siehe die Github-Quelle:

https://github.com/lloydw/libRocket

Ich kann es gut bauen, indem ich:

cd Build
cmake -DBUILD_PYTHON_BINDINGS=on

Ich habe versucht, das Projekt mit dh_make zu debianisieren, kann aber anscheinend nicht herausfinden, wie es im Build-Ordner nach einer CMakeLists.txt-Datei gesucht werden kann.

robvdl
quelle
Die Optionen gehen nach $@: dh $ @ --buildsystem = cmake --sourcedirectory = Build
Stuart Cardall

Antworten:

8

Die debian/rulesDatei ist das Skript, das den Erstellungsprozess ausführt. Sie können feststellen, dass sich das Build-Skript in einem Unterordner befindet, indem Sie übergeben. --sourcedirectory=BuildSo könnte Ihr Skript aussehen:

#!/usr/bin/make -f

%:
    dh $@ --buildsystem=cmake --sourcedirectory=Build

Weitere Informationen finden Sie in der Manpage für den dhBefehlManpage-Symbol .

andrewsomething
quelle
Danke, du hast mich in die richtige Richtung gebracht, der Manpage-Link ist ungültig, aber "man dh" hat mir das gebracht, was ich brauchte. Außerdem ist das / before Build nicht erforderlich.
Robvdl
Großartig. Oben behoben.
Andrewsomething
@robvdl, Könnte diese Antwort akzeptieren, wenn es für Sie funktioniert. Siehe askubuntu.com/help/someone-answers
user.dz
@andrewsomething können Sie askubuntu.com/questions/851419/… beantworten ?
Necktwi
Fügen Sie usr/lib/*/cmak/*in dev.install Datei hinzu, wenn Ihre Module cmake-Dateien bereitstellen
Quanlong