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.


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 .


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.