CMake: man pages not copied in out-of-source builds

Compilation and installation of DCMTK

Moderator: Moderator Team

Post Reply
Message
Author
pmattern
Posts: 18
Joined: Tue, 2016-11-08, 13:18

CMake: man pages not copied in out-of-source builds

#1 Post by pmattern »

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.

J. Riesmeier
DCMTK Developer
Posts: 2501
Joined: Tue, 2011-05-03, 14:38
Location: Oldenburg, Germany
Contact:

Re: CMake: man pages not copied in out-of-source builds

#2 Post by J. Riesmeier »

Thank you for the report. I've added this to our internal to-do list (see Michael's answer to you other CMake-related posting).

Michael Onken
DCMTK Developer
Posts: 2048
Joined: Fri, 2004-11-05, 13:47
Location: Oldenburg, Germany
Contact:

Re: CMake: man pages not copied in out-of-source builds

#3 Post by Michael Onken »

Hi P and Jörg,

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.

Best,
Michael

J. Riesmeier
DCMTK Developer
Posts: 2501
Joined: Tue, 2011-05-03, 14:38
Location: Oldenburg, Germany
Contact:

Re: CMake: man pages not copied in out-of-source builds

#4 Post by J. Riesmeier »

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 think we should have it consistently in CMake.
Right :)

Michael Onken
DCMTK Developer
Posts: 2048
Joined: Fri, 2004-11-05, 13:47
Location: Oldenburg, Germany
Contact:

Re: CMake: man pages not copied in out-of-source builds

#5 Post by Michael Onken »

Ah got the point :)

Jan Schlamelcher
OFFIS DICOM Team
OFFIS DICOM Team
Posts: 318
Joined: Mon, 2014-03-03, 09:51
Location: Oldenburg, Germany

Re: CMake: man pages not copied in out-of-source builds

#6 Post by Jan Schlamelcher »

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.

Jan Schlamelcher
OFFIS DICOM Team
OFFIS DICOM Team
Posts: 318
Joined: Mon, 2014-03-03, 09:51
Location: Oldenburg, Germany

Re: CMake: man pages not copied in out-of-source builds

#7 Post by Jan Schlamelcher »

There was a minor problem with yesterdays commit that I just fixed, so it is live now, these are the relevant commits: #283bf2e4c and #32a0862ca

pmattern
Posts: 18
Joined: Tue, 2016-11-08, 13:18

Re: CMake: man pages not copied in out-of-source builds

#8 Post by pmattern »

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.

Jan Schlamelcher
OFFIS DICOM Team
OFFIS DICOM Team
Posts: 318
Joined: Mon, 2014-03-03, 09:51
Location: Oldenburg, Germany

Re: CMake: man pages not copied in out-of-source builds

#9 Post by Jan Schlamelcher »

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.
It's on our To-Do list (mine, I fear).

Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 1 guest