When an out-of-source build is made using CMake the man pages are not copied to the target location of 'make install'.
Steps to reproduce:
Create a directory 'build' at an arbitrary location outside the directory containg the DCMTK sources and change into this directory.
Run 'cmake /path/to/source/directory', 'make' and 'make DESTDIR=/some/arbitrary/empty/directory install'.
Within the target directory stated in the second step there will be an empty directory ./usr/local/share/man. The man pages are copied as expected when the invocation of cmake and the following steps take place in the directory of the DCMTK source code itself like dcmtk-3.6.1_20161102 which results from unpacking archive dcmtk-3.6.1_20161102.tar.gz providing the current snapshot.
I have difficulties to see that behaviour on my Linux box. In CMake the manpages (as well as the HTML documentation) are not built at all when calling "make". You have to call "make man" ("make html") for that. If you do, the man pages are installed when doing make install. The behaviour is the same if I do out of source or "in source" build. My guess is that you have man pages around in your source tree from a previous build or so?
I dont know by heart if configure builds the manpages automatically. I think we should have it consistently in CMake.
Michael, the (pre-generated) man page files are part of DCMTK's source code package. It's true that they are only re-generated on demand but this has nothing to do with the installation (at least it should not).
I dont know by heart if configure builds the manpages automatically.
No, of course they are not, only on demand. This is why we ship them with the source code package (does not require Doxygen to be installed).
I have just commited a fix for this problem, the manpages from the source directory are now copied to the build directory, unless a newer file already exists there. This should fix all the problems I can think of regarding this topic. The commit will become live tomorrow if it goes through the nightlybuilds without errors.
Yes, the nightlybuilds do not test the install step so far, but it at least ensures I did not break the general CMake setup.
Confirming the problem is fixed e. g. in ef9173b95.
Thanks.
P. S.: I really think this forum should be accessible by HTTPS. Replacing the outdated certificate shouldn't be a problem any more due to Let's Encrypt.
pmattern wrote:P. S.: I really think this forum should be accessible by HTTPS. Replacing the outdated certificate shouldn't be a problem any more due to Let's Encrypt.