]> git.saurik.com Git - apt.git/commit - CMake/Documentation.cmake
CMake: Rewrite existing Documentation support and add doxygen
authorJulian Andres Klode <jak@debian.org>
Mon, 8 Aug 2016 19:53:46 +0000 (21:53 +0200)
committerJulian Andres Klode <jak@debian.org>
Wed, 10 Aug 2016 14:17:18 +0000 (16:17 +0200)
commit10ec2d23f14cf5d3e4835d9bcb57d0937f803e6a
tree6b94f158da77f56a59099078a178bb5832f2d9a7
parent0d04a4987feb9ec45ddfa03270e20f76cae02a84
CMake: Rewrite existing Documentation support and add doxygen

This can now build all documentation. It should also be fairly
reusable for other projects, as long as they follow the same
naming scheme for the po4a output files and set the PACKAGE_*
variables used here.

We could have done all translations in a single call to po4a
like the makefile based buildsystem does. While that would
have made the output slightly nicer, this solution offers a
huge performance gain because it can translate the documents
in parallel, which also means that the xsltproc stage does not
have to wait for all translations to be done first.

You might think that the add_custom_command() should list the
actual output files as BYPRODUCTS. This is not true however:
Because the files are not always generated, Ninja will think
missing byproducts mean that the target is out of date - which
is not what we want.

Finally, also add the missing doxygen support. Note that the
packaging script cleans up some md5 and map files created by
doxygen, otherwise it is fairly boring.
CMake/Documentation.cmake
CMake/run_if_exists.sh [new file with mode: 0755]
CMakeLists.txt
README.cmake
debian/rules
doc/CMakeLists.txt
doc/Doxyfile.in