conan-io / wishlist

This repo is to propose libraries, frameworks, and code in general that users would like to have in conan
MIT License
49 stars 5 forks source link

doxygen #115

Closed Croydon closed 4 years ago

Croydon commented 6 years ago

Current situation

We do have a doxygen recipe for Windows, Linux and macOS, however, it just re-uses the official binaries instead of building from sources. Also the 1.8.14 release is pretty much unusable as doxygen did remove the libclang binary from the release package but still relys on it.

I'm working currently towards improving the situation upstream, e.g. I have contributed CI setups for Windows and macOS and would like them to push forward with including a libclang binary again. It seems like this binary was always manually build locally and included manually and other similar manual processes, that's why I'm trying to automate as much as possible upstream and make it therefore reproducible and more reliable.

Right now, everyone who wants to build doxygen needs to install tons of dependencies manually. To install some of the dependencies in CI I'm already using Conan, but many are still missing.

Therefore further progress is blocked by the following missing packages:

Windows only:

hhc
makehm
mc
midl
mt
pandoc

Libraries

On Unix-like platforms (including macOS), you will need development packages for these libraries:

apr
aprutil
bzip2
cairo
expat
fontconfig
freetype2
fribidi
gd
gmp
graphite2
harfbuzz-icu
hunspell
icu
jpeg
log4cxx
lzma
mpfr
mspack
LibreSSL (or OpenSSL)
pixman
png
poppler
popt
potrace
uriparser
zzip

When building UI components with Qt5:

poppler-qt5

      * [ ] on macOS: https://miktex.org/howto/build-mac

brew install pkg-config brew install icu4c brew install freetype brew install fribidi brew install gmp brew install graphite2 brew install hunspell brew install jpeg brew install libpng brew install libtiff brew install libzzip brew install log4cxx brew install mpfr brew install openssl brew install pixman brew install popt brew install potrace brew install qt brew install uriparser brew install xz


https://github.com/doxygen/doxygen

## Original message (now outdated):
Having a doxygen recipe would be quite nice.

We actually have a working one for Windows and Linux, however, it doesn't works on macOS as we have a lack of developers for this platform right now.

Also it doesn't build from source but rather uses the official binaries.

Would be nice if somebody with macOS knowledge would contribute 😄 

https://github.com/inexorgame/conan-doxygen
memsharded commented 6 years ago

As it is a dev-tool, it is not that important to have multi-compiler, multi-version support, so using official binaries is good too.

I also agree this would be a very nice to have package, and also worth documenting how to use it to generate documentation packages. I don't use OSX myself, but if nobody contributes OSX support, ping me back in a couple of weeks and I'll look for someone who can help. Thanks!

Croydon commented 6 years ago

We now have support for macOS thanks to @datalogics-kam :tada:

However, we have problems with 1.8.14 as Doxygen stop delivered a version of libclang by themselves. Maybe we can use the LLVM recipes by @bincrafters once they are done.

Croydon commented 5 years ago

Updated issue description, there were quite some progress recently 😄

Croydon commented 4 years ago

Since https://github.com/conan-io/conan-center-index/pull/1702 is merged now I'm going to close this issue.

At some point in the future, when we have all dependencies of Doxygen available in CCI we should re-write the Doxygen recipe and build it from source.

If someone is personally interested in tracking this I recommend to open a new issue in the CCI.