Sysop: | Amessyroom |
---|---|
Location: | Fayetteville, NC |
Users: | 43 |
Nodes: | 6 (0 / 6) |
Uptime: | 107:27:42 |
Calls: | 290 |
Files: | 905 |
Messages: | 76,677 |
From here to a Debian package the way doesn't seem to bestraightforward, as I can't install the first component before building
* Is there a way to tell cmake to build the two things together, or to
point at the build dir of the first one to build the second one,
without installing it first?
* Is there a clean way to tell debhelper that cmake and make need to be
called multiple times?
Hello,
I'm trying to make a Debian package out of https://gitlab.eumetsat.int/open-source/data-tailor-plugins/fcidecomp
I managed to build it this way:
$ cd src/fcidecomp
$ # Build and install fcicomp-jpegls first
$ rm -r build/fcicomp-jpegls/
$ gen/build.sh fcicomp-jpegls/ release
$ # fcicomp-H5Zjpegls seems to need fcicomp-jpegls installed in order to build
$ (cd build/fcicomp-jpegls && make install DESTDIR=/tmp/fcicomp-jpegls)
$ rm -r build/fcicomp-H5Zjpegls/
$ CMAKE_PREFIX_PATH=/tmp/fcicomp-jpegls/usr/local/share/cmake/fcicomp_jpegls/ gen/build.sh fcicomp-H5Zjpegls/ release
$ (cd build/fcicomp-H5Zjpegls/ && make install DESTDIR=/tmp/fcicomp-H5Zjpegls)
(gen/build.sh is a wrapper that calls cmake, and can be replaced by a
cmake invocation)
From here to a Debian package the way doesn't seem to bestraightforward, as I can't install the first component before building
the second one, and probably there are better ways to do it.
Questions:
* Is there a way to tell cmake to build the two things together, or to
point at the build dir of the first one to build the second one,
without installing it first?
* Is there a clean way to tell debhelper that cmake and make need to be
called multiple times?
I had a similar problem with the ros- packages and solved it with a top
level CMakeLists.txt doing add_subdirectory() for every project. Here is an example: https://sources.debian.org/src/ros-image-transport-plugins/1.15.0-3/debian/patches/0001-Add-CMakeLists.txt.patch/
If continuing with debhelper, I suspect your best bet is to configure,
build, and install the first project in an
execute_before_dh_auto_configure handling the second one. I appreciate
if you continue calling cmake through dh_auto_configure, because that
tends to makes cross building just work.