This forum has been archived. All content is frozen. Please use KDE Discuss instead.

[SOLVED] Doyxen on Windows

Tags: None
(comma "," separated)
Hauke
Registered Member
Posts
109
Karma
3
OS

[SOLVED] Doyxen on Windows

Thu May 14, 2009 7:59 am
Hi there,

I just wanted to know whether somebody has been able to run doxygen on windows? I am using doxygen for a long time and have all required tools (dot, latex, etc) installed but it fails when it comes to expanding the required environment variables like
- EIGEN_VERSION
- Eigen_BINARY_DIR
- Eigen_SOURCE_DIR

I have set them and no clue why the system fails.

This is the corresponding batch file I exectuted
Code: Select all
@echo off

set EIGEN_BASE_DIR=C:/tmp
set Eigen_SOURCE_DIR=%EIGEN_BASE_DIR%/eigen
set Eigen_BINARY_DIR=%EIGEN_BASE_DIR%/eigen_bin
set EIGEN_VERSION=2.01

@echo on

doxygen %Eigen_SOURCE_DIR%/doc/Doxyfile.in


and this is the output

Code: Select all
C:tmp>doxygen C:/tmp/eigen/doc/Doxyfile.in
Warning: Tag `DETAILS_AT_TOP' at line 180 of file C:/tmp/eigen/doc/Doxyfile.in has become obsolete.
To avoid this warning please update your configuration file using "doxygen -u"
Error: tag HTML_HEADER: header file `${Eigen_BINARY_DIR}/doc/eigendoxy_header.html' does not exist


Any ideas?

Regards,
Hauke
User avatar
bjacob
Registered Member
Posts
658
Karma
3

[SOLVED] Doyxen on Windows

Thu May 14, 2009 10:56 am
This isn't Windows-specific. The file Doxyfile.in is not a ready-to-use Doxyfile -- whence the suffix .in. You have to run cmake first, and then "make doc" or "make -j3 doc". This will generate the Doxyfile automatically for you as well as the code snippets and their output, and run doxygen for you. You never have to run doxygen manually.


Join us on Eigen's IRC channel: #eigen on irc.freenode.net
Have a serious interest in Eigen? Then join the mailing list!
Hauke
Registered Member
Posts
109
Karma
3
OS

[SOLVED] Doyxen on Windows

Thu May 14, 2009 3:00 pm
Hi again,

after looking a bit further into the problem I've found a partial solution. As opposed to makefile-based generators the VS.net CMake generators create solution files (Eigen.sln) under Windows - these are the makefile pendants. The Eigen solution contains a bunch of projects (.vcproj) - one for each target.

The doc-target is explicitly marked as being excluded from the main Eigen solution. Nonetheless CMake generates the corresponding project files under %Eigen_BIN%/doc/. These are
- doc.vcproj
- doc-eigen-prerequisites.vcproj
- doc-unsupported-prerequisites.vcproj

To create the documentation you need to create a solution file from the doc.vcproj, add the two prerequisite projects and build all of them. The only thing you need to ensure is that doc.vcproj is build at last. The documentation output seems to be alright but there may still be some things missing.

In general the make 'target' pendant under windows is:
Code: Select all
devenv Eigen.sln /build Release /project 'target'


Regards,
Hauke
User avatar
bjacob
Registered Member
Posts
658
Karma
3

[SOLVED] Doyxen on Windows

Thu May 14, 2009 3:04 pm
Hauke wrote:The doc-target is explicitly marked as being excluded from the main Eigen solution. Nonetheless CMake generates the corresponding project files under %Eigen_BIN%/doc/. These are
- doc.vcproj
- doc-eigen-prerequisites.vcproj
- doc-unsupported-prerequisites.vcproj


Ah, I understand now, this correspond to this line in doc/CMakeLists.txt:

Code: Select all
set_directory_properties(PROPERTIES EXCLUDE_FROM_ALL TRUE)


I didn't understand that the .sln was the equivalend of the "all" target in the Makefile.

Anyway, thanks for clarifying this, maybe if you have time some day you can put that very useful information on the wiki, perhaps Developer's Corner page.


Join us on Eigen's IRC channel: #eigen on irc.freenode.net
Have a serious interest in Eigen? Then join the mailing list!
Hauke
Registered Member
Posts
109
Karma
3
OS

[SOLVED] Doyxen on Windows

Thu May 14, 2009 5:15 pm
Ok, once again.... a final try.

The docs of add_subdirectory state: "Typically the subdirectory should contain its own project() command invocation so that a full build system will be generated in the subdirectory (such as a VS IDE solution file)."

Well, adding a
Code: Select all
set_directory_properties(PROPERTIES EXCLUDE_FROM_ALL TRUE)
project(EigenDoc) <-- new line

to docCMakeLists.txt solves the problem... completely. Now there is a EigenDoc.sln in the doc directory that contains all the projects required for nifty docs.

- Hauke

Last edited by Hauke on Thu May 14, 2009 5:18 pm, edited 1 time in total.


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Sogou [Bot]