[kde-freebsd] cmake-doc port
Raphael Kubo da Costa
rakuco at FreeBSD.org
Fri Mar 25 12:40:22 UTC 2016
Ralf Nolden <nolden at kde.org> writes:
> as shortly discussed on IRC, the following is a cmake-doc port based on cmake-
> gui to generate the HTML and Qt Creator documentation files:
I've committed devel/cmake-doc to area51 in r12174, and will add it to
the ports tree soon, thanks for working on it.
I have a few comments and suggestions for your future patches:
- There was a Makefile and a Makefile.works, and neither was completely
working (with a Poudriere build) on its own. Please ship only one
Makefile next time ;)
- The apply_qthelp_css_workaround.cmake patch was doing the wrong thing.
That file is basically doing the equivalent of sed/patch with CMake: it
reads some files, replaces some imports with actual file contents and
generates a final file. Instead of removing one of the files being
read, the patch needs to adjust the name of the generated file so that
it can be found (I guess Sphinx changed the name of that CSS a while
- There is no reason to add %%PORTDOCS%% to pkg-plist. This port is only
shipping documentation, so I don't see why make the entire contents of
the package optional.
- The port does not ship any architecture-dependent file, so NO_ARCH=yes
can be added to the Makefile.
- devel/cmake itself is not required by cmake-docs at runtime. Using
USES=cmake:outsource is enough (we only need CMake in order to build
this port, and the "outsource" part does an out-of-source build that
- I strongly suggest you set up Poudriere: `make configure' was not
passing in Poudriere, so it looks like you were testing with
additional dependencies installed in your system. For example
qcollectiongenerator is generally not in $PATH so you have to pass
-DQCOLLECTIONGENERATOR_EXECUTABLE= to CMAKE_ARGS.
- Utilities/Sphinx's CMakeLists.txt can be used standalone without the
rest of CMake. By setting CMAKE_SOURCE_PATH and doing it, the
configuration process takes a less time (there is no need to check for
a ton of functions and libraries since no code will be built) and also
avoids requiring additional dependencies not needed for documentation
(especially in the tests).
It also makes it possible to drop the patch for that CMakeLists.txt
that you imported from devel/cmake-gui and the pre-install target.
- As far as I can see, qt5-help is only needed at build-time to generate
the qch file, so you need USE_QT5=help_build, not USE_QT5=help.
More information about the kde-freebsd