将一个CMake项目(libRocket)打包成.deb文件,但是构建脚本位于子文件夹中。

我正在尝试为libRocket(http://librocket.com/)构建一个.deb软件包,但是构建脚本不在源代码根目录中,而是在一个子文件夹(/Build)中。请参考Github源代码。

https://github.com/lloydw/libRocket

我可以很好地构建它,使用以下方法:
cd Build
cmake -DBUILD_PYTHON_BINDINGS=on

我尝试使用dh_make将项目转换为Debian风格,但似乎无法弄清楚如何让它在Build文件夹中查找CMakeLists.txt文件。

选项放在$@后面: dh $@ --buildsystem=cmake --sourcedirectory=Build - Stuart Cardall
1个回答

debian/rules 文件是运行构建过程的脚本。你可以通过传递 --sourcedirectory=Build 来告诉它构建脚本位于子文件夹中。所以你的文件可能如下所示:
#!/usr/bin/make -f

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

查看有关更多信息的 dh 命令的手册页面 Manpage icon

谢谢,你帮我找对了方向。manpage的链接无效,但是"man dh"给我提供了所需信息。另外,在Build之前不需要加斜杠。 - robvdl
太好了。已修复以上问题。 - andrewsomething
@robvdl,如果这个答案对您有用的话,可以接受它。请参阅https://askubuntu.com/help/someone-answers。 - user.dz
@andrewsomething 你能回答这个问题吗?http://askubuntu.com/questions/851419/dh-install-o-buildsystem-cmake-dh-install-missing-files-usr-lib-lib-so - Necktwi
如果您的模块提供了CMake文件,请将usr/lib/*/cmak/*添加到dev.install文件中。 - Quanlong