[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

cmake: compat 11 vs 13 (-indep)



[cc me please]

Symptoms:

I've recently discovered the following change in behavior for
dh_missing + cmake + -indep. Basically using compat 13 it is now an
error when build-indep rule install stuff other than just the -indep
files (1).

This means that the following d/rules is going to fails when using compat=13:

https://salsa.debian.org/multimedia-team/openvdb/-/blob/master/debian/rules

As you can see, during debuild -A I only build one target (not 'all'):

https://salsa.debian.org/multimedia-team/openvdb/-/blob/master/debian/rules#L94

In compat 13 I was able to take advantage of `make -C`:

https://salsa.debian.org/debian-phototools-team/imath/-/blob/master/debian/rules#L35-37

This 'trick' will fail if someone switch from --buildsystem=cmake into
--buildsystem=cmake+ninja.

---

Root issue. As far as I understand cmake install() command (2)
documentation, there is a single 'install' for the entire project. In
other words, it is not possible using regular cmake logic to do:

$ cmake . && make  doc && make install_doc_related_stuff_only

Could someone with better understanding of dh_missing + cmake please
review the above and suggest a potential better solution than my
correct "hack" of using `-C docs`. I could also remove stuff installed
in debian/tmp just before `dh_missing` is run, but this is also a
hack.

Thanks much in advance,

(1) https://buildd.debian.org/status/fetch.php?pkg=imath&arch=amd64&ver=3.1.3-7&stamp=1642087594&raw=0
(2) https://cmake.org/cmake/help/latest/command/install.html


Reply to: