[cmake-developers] Integration of manpage installation

Michael Wild themiwi at gmail.com
Tue Jun 7 10:31:17 EDT 2011


On 06/07/2011 03:47 PM, Werner Mahr wrote:
> Eric Noulard wrote:
> 
>>> My suggestion is, to add a new property like man-source-dir or
>>> somehow like that, and all pages in that dir are installed to the
>>> right place if they start with the name of the corresponding
>>> executable.
>  
>> Have a look at the new (in 2.8.4)  GnuInstallDirs.cmake module:
>>
>> http://www.cmake.org/Bug/view.php?id=3976
> 
> This Bug is about Vars for the installation-dirs, I'm thinking about 
> installation-process.
> 
> Usually manpages are named in sources like "cmake.1" and are installed 
> $mandir/1/cmake
> 
> or most often
> 
> $mandir/1/cmake.gz
> 
> So I want to implement functionality to allow the dwevs to just give the 
> place of manpage-sources and let cmake do all the steps:
> 
> Rename from <appname>.<section> or <appname>.<lang>.<section> to 
> <appname>
> 
> compress to <appname>.gz (maybe configurable)
> 
> install to $mandir/<section>/<appname>[.gz] or 
> $mandir/<section>/<lang>/<appname>[.gz]
> 
> If $mandir is given directly or configured in a var like your link 
> describes doesn't matter in this case. I don't know about other systems 
> like Linux, so maybe the process is different for other plattforms, but 
> at least in Linux-systems it would be a great help.
> 
> As I started porting amule to cmake I got stuck at exactly that point. 
> Google just pointed out hits where the poster got told to look how 
> others did it, but there's no generic solution. I would prefer to 
> provide such a generic solution instead of reinventing the wheel for 
> such a common task over and over again.
> 

install(FILES cmake.1
  DESTINATION ${CMAKE_INSTALL_FULL_MANDIR}/man1 COMPONENT doc)

If you want gzipping, either leave it to the package generation system
(e.g. dh_installman on Debian and cohorts) or add a custom command to do so.

Michael



More information about the cmake-developers mailing list