Re: [Doxygen-develop] CMake
Brought to you by:
dimitri
From: Dimitri v. H. <do...@gm...> - 2013-06-08 09:59:28
|
Hi Robert, On Jun 7, 2013, at 2:21 , Robert Dailey <rcd...@gm...> wrote: > On Thu, Jun 6, 2013 at 4:03 PM, Robert Dailey <rcd...@gm...> wrote: >> Starting a new discussion thread here in the dev mailing list for >> CMake support. I'll be working on this over on my github fork: >> https://github.com/rcdailey/doxygen >> >> I'll be spending my spare time on this so please forgive any slow progress :) > > Concerning third party dependencies that you do not build yourself as > part of your make command, would you be able to maintain your own > binaries for these in a repository? > > I already have a CMake framework that I can drop into doxygen and use. > To be the most platform agnostic, I have set it up to download > archives of precompiled binaries for third party libraries from an > FTP/HTTP/Windows file share of your choosing (configurable in CMake > cache). Basically for every platform or toolchain you plan to build > doxygen on or with, you will need to have include files + binaries in > an archive. Those will sit in a repository and the CMake scripts will > download them, extract them, and automatically setup include > directories and dependencies for you. > > There are a couple of benefits to having this approach: > 1. No need to search for these libraries on the system. The CMake > scripts will always be able to guarantee that they are on the system > since it will be downloading them from a repository you maintain. > 2. Easier for new developers to just pick up the code and start > building, since they do not have to spend time building libraries. > 3. Windows doesn't have an apt-get (unless you use cygwin, which is > just another dependency to worry about) mechanism, so this makes up > for that and makes it super easy to get a build started on Windows. > > The downside, of course, is that this can become a maintenance problem > if you have a ton of libraries and/or platforms or toolchains to > support. > > Let me know how you want to approach this, as it will deeply impact > the work. Personally I suggest we take this approach, assuming you can > setup an FTP/HTTP server somewhere to pull down the archives. I will > also post this in the dev mailing list, as I have created a dedicated > thread there for CMake discussion. Join me there! It is not problem for me to host the packages, and I do need them myself when I build a doxygen release. So for Windows (32bit/64bit + debug/release flavors) and MacOSX (32bit+64bit intel fat binaries for OSX 10.5+) this seems like a good approach. For Linux, however, it would be better to depend on the packages that come with a distribution (there are too many distros to support). Can CMake be configured like that? or is it one approach or the other for all platforms. Regards, Dimitri |