[CMake] Manual page generation

Laszlo Papp djszapi at archlinux.us
Fri Sep 24 07:43:53 EDT 2010


This did not work either :((( :

set(ASCIIDOC_MANS
hacky.8
akabei-create-db.8
akabei.conf.5
akabei.3
)

set(A2X_OPTS
-no-xmllint
-d manpage
-f manpage
--xsltproc-opts='-param man.endnotes.list.enabled 0 -param
man.endnotes.are.numbered 0'
)

foreach(manpage $(ASCIIDOC_MANS))
  execute_process(COMMAND ${a2x} ${A2X_OPTS}
--asciidoc-opts="${AKABEI_VERSION_STRING}"
${CMAKE_CURRENT_SOURCE_DIR}/${manpage}.txt
--destination-dir=${CMAKE_CURRENT_BINARY_DIR})
endforeach()

install(FILES ${CMAKE_CURRENT_BINARY_DIR}/akabei.3.gz DESTINATION
${MAN_INSTALL_DIR}/man3/)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/akabei.conf.5.gz DESTINATION
${MAN_INSTALL_DIR}/man5/)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/hacky.8.gz DESTINATION
${MAN_INSTALL_DIR}/man8/)


On Fri, Sep 24, 2010 at 2:04 PM, Michael Wild <themiwi at gmail.com> wrote:
>
> On 24. Sep, 2010, at 12:36 , Laszlo Papp wrote:
>
>> Hi,
>>
>> What is wrong about the following CMakeLists.txt file ? I would like
>> to generate manual pages, like this project does with autotools:
>> http://projects.archlinux.org/pacman.git/tree/doc/Makefile.am
>>
>> Thank you in advance!
>>
>> ========================================================================================
>>
>> set(ASCIIDOC_MANS
>> hacky.8
>> akabei-create-db.8
>> akabei.conf.5
>> akabei.3
>> )
>>
>> set(A2X_OPTS
>> -no-xmllint
>> -d manpage
>> -f manpage
>> --xsltproc-opts='-param man.endnotes.list.enabled 0 -param
>> man.endnotes.are.numbered 0'
>> )
>>
>> foreach(manpage ${ASCIIDOC_MANS})
>> add_custom_command(OUTPUT ${manpage}
>>                                       COMMAND a2x ${A2X_OPTS}
>>                                       --asciidoc-opts="${AKABEI_VERSION_STRING}" ${manpage}.txt
>>                                       VERBATIM)
>> endforeach(manpage)
>>
>> # install(FILES akabei.3.gz DESTINATION ${MAN_INSTALL_DIR}/man3/)
>> # install(FILES akabei.conf.5.gz DESTINATION ${MAN_INSTALL_DIR}/man5/)
>> # install(FILES hacky.8.gz DESTINATION ${MAN_INSTALL_DIR}/man8/)
>>
>> Best Regards,
>> Laszlo Papp
>
> You need a top-level target that depends on the individual manpages:
>
> add_custom_target(man ALL
>  DEPENDS ${ASCIIDOC_MANS})
>
> HTH
>
> Michael
>
> --
> There is always a well-known solution to every human problem -- neat, plausible, and wrong.
> H. L. Mencken
>
>


More information about the CMake mailing list