[cmake-developers] Integration of manpage installation
Werner Mahr
werner at vollstreckernet.de
Tue Jun 7 13:40:27 EDT 2011
Michael Wild wrote:
> foreach(m amule.1 amule.de.1 locale.7)
> get_filename_component(b ${m} NAME_WE)
> get_filename_component(e ${m} EXT)
> if(e MATCHES "(([a-zA-Z_-]+)\\.)?([0-9])")
> set(l "${CMAKE_MATCH_2}")
> set(s "${CMAKE_MATCH_3}")
> else()
> message(SEND_ERROR
> "Failed to parse language and section from manpage name '${m}'")
> endif()
> install(FILES ${m}
> DESTINATION "${CMAKE_INSTALL_MANDIR}/${l}/man${s}" COMPONENT doc
> RENAME ${b}.${s})
> endforeach()
Unfortunately not:
CMake Error at docs/man/cmake_install.cmake:38 (FILE):
file called with network path DESTINATION. This does not make sense
when
using DESTDIR. Specify local absolute path or remove DESTDIR
environment
variable.
DESTINATION=
//man1
Call Stack (most recent call first):
cmake_install.cmake:39 (INCLUDE)
Plus there are files out there like:
svgalib.faq.de.7
which would raise the error in the code. I don't think that writing
stuff like this in many different projects is a good idea, that's why I
proposed to include it native in cmake.
ADD_EXECUTABLE(<app>, <sources>)
SET_TARGET_PROPERTIES (<app> PROPERTIES MAN_SOURCES "docs/man/")
is much easier to write. Expected behaviour is to install above
mentioned sheme docs/man/<app>* to the right places.
>From my point as a dev participating in more than one prjoect it would
be a pita to try to understand how they implemented their manpage-
installation, plus it would slim down many projects lot.
--
MfG usw.
Werner Mahr
More information about the cmake-developers
mailing list