Blame BUILD.txt

Packit Service 50c9f2
Doxygen uses cmake (http://www.cmake.org/) to build executables for various platforms.
Packit Service 50c9f2
It's required at least cmake version 2.8.12
Packit Service 50c9f2
Packit Service 50c9f2
The first step is to create a build directory where the output should be stored.
Packit Service 50c9f2
Doxygen can be fully build outside of the source tree.
Packit Service 50c9f2
Packit Service 50c9f2
The second step is to invoke cmake from within the build directory with the desired generator.
Packit Service 50c9f2
Packit Service 50c9f2
For Linux/Unix systems do the following
Packit Service 50c9f2
Packit Service 50c9f2
  mkdir build
Packit Service 50c9f2
  cd build
Packit Service 50c9f2
  cmake -G "Unix Makefiles" path/to/root/of/doxygen/source/tree
Packit Service 50c9f2
  make
Packit Service 50c9f2
Packit Service 50c9f2
This also works for MacOSX, but if XCode is installed you can also generate an XCode project file
Packit Service 50c9f2
Packit Service 50c9f2
  cmake -G XCode path/to/root/of/doxygen/source/tree
Packit Service 50c9f2
Packit Service 50c9f2
For Windows one can generate a Visual Studio project using
Packit Service 50c9f2
Packit Service 50c9f2
  cmake -G "Visual Studio 12 2013" path\to\root\of\doxygen\source\tree
Packit Service 50c9f2
Packit Service 50c9f2
(this is for Visual Studio 12, there are typically also generators for other versions of
Packit Service 50c9f2
Visual Studio or other compiler environments like MinGW)
Packit Service 50c9f2
Packit Service 50c9f2
Doxygen's cmake configuration provides a number of options:
Packit Service 50c9f2
- build_wizard    Build the GUI frontend for doxygen.
Packit Service 50c9f2
- build_app       Example showing how to embed doxygen in an application.
Packit Service 50c9f2
- build_parse     Parses source code and dumps the dependencies between the code elements.
Packit Service 50c9f2
- build_xmlparser Example showing how to parse doxygen's XML output.
Packit Service 50c9f2
- build_search    Build external search tools (doxysearch and doxyindexer).
Packit Service 50c9f2
- build_doc       Build user manual.
Packit Service 50c9f2
- use_sqlite3     Add support for sqlite3 output [experimental].
Packit Service 50c9f2
- use_libclang    Add support for libclang parsing.
Packit Service 50c9f2
- win_static      Link with /MT in stead of /MD on windows.
Packit Service 50c9f2
- english_only    Only compile in support for the English language.
Packit Service 50c9f2
- force_qt4       Forces doxywizard to build using Qt4 even if Qt5 is installed
Packit Service 50c9f2
Packit Service 50c9f2
An option can be turned on, by adding -D<option>=ON as a command line option, this can be
Packit Service 50c9f2
done when generating the initial build files, but also afterwards, i.e. to enable building
Packit Service 50c9f2
of the documentation after an initial cmake -G run, do
Packit Service 50c9f2
Packit Service 50c9f2
  cmake -Dbuild_doc=ON path/to/root/of/doxygen/source/tree
Packit Service 50c9f2
Packit Service 50c9f2
To turn the option off use
Packit Service 50c9f2
Packit Service 50c9f2
  cmake -Dbuild_doc=OFF path/to/root/of/doxygen/source/tree
Packit Service 50c9f2
Packit Service 50c9f2
To see the current value is of the various options, you can run
Packit Service 50c9f2
Packit Service 50c9f2
  cmake -L path/to/root/of/doxygen/source/tree
Packit Service 50c9f2
Packit Service 50c9f2
The build target for building the documentation is 'docs' and the build target for
Packit Service 50c9f2
the regression tests is 'tests'