Commit 5b4906ae authored by Joseph Mirabel's avatar Joseph Mirabel
Browse files

Fully generate documentation with Doxygen.

parent 6cb99933
......@@ -74,6 +74,7 @@ FOREACH(PKG ${SETUP_DOC_PKG})
SET(PACKAGE_NAME ${PKG})
SET(DOC_PKG_NAME "hpp_doc_missing_${DOC_VAR}")
SET(${DOC_VAR}_LINK "\\ref ${DOC_PKG_NAME}")
SET(${DOC_VAR}_URL ${${DOC_VAR}_LINK})
SET(STEPS)
IF(DEFINED ${PKG}_giturl)
SET(STEPS "${STEPS}\\li get the source code through \\c git:
......@@ -91,26 +92,17 @@ make update
ENDIF(${PREFIX}_FOUND)
ENDFOREACH(PKG ${SETUP_DOC_PKG})
SET(EXTRA_HTML_FILES
doc/index.html
doc/tree.html
doc/main.dox)
CONFIG_FILES(${EXTRA_HTML_FILES})
FOREACH(HTML_FILE ${EXTRA_HTML_FILES})
INSTALL(FILES ${CMAKE_BINARY_DIR}/${HTML_FILE} DESTINATION ${CMAKE_INSTALL_DOCDIR})
ENDFOREACH(HTML_FILE ${EXTRA_HTML_FILES})
CONFIG_FILES(doc/main.dox doc/doxygenLayout.xml)
ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_BINARY_DIR}/graphDep.dot
COMMAND ${CMAKE_SOURCE_DIR}/scripts/packageDep --quiet --output ${CMAKE_BINARY_DIR}/graphDep.dot ${SETUP_DOC_PKG}
COMMAND sed -i 's/size = \"12,15\"//' ${CMAKE_BINARY_DIR}/graphDep.dot)
COMMAND ${CMAKE_SOURCE_DIR}/scripts/packageDep --quiet --output ${CMAKE_BINARY_DIR}/graphDep.dot ${SETUP_DOC_PKG})
ADD_CUSTOM_TARGET(generate-html ALL
DEPENDS graphDep.dot)
INSTALL(FILES
doc/custom.css
doc/tree.css
doc/tabs.css
doc/index.html
doc/jquery-3.3.1.min.js
${CMAKE_BINARY_DIR}/doc/main.dox
DESTINATION ${CMAKE_INSTALL_DOCDIR})
INSTALL(DIRECTORY
doc/images
......
INPUT = @PROJECT_BINARY_DIR@/doc \
@PROJECT_SOURCE_DIR@/doc
PROJECT_NAME = Humanoid Path Planner
INPUT = @PROJECT_SOURCE_DIR@/doc \
@PROJECT_BINARY_DIR@/doc
DOTFILE_DIRS = @PROJECT_BINARY_DIR@
HTML_EXTRA_STYLESHEET = @PROJECT_SOURCE_DIR@/doc/doxygen_extra.css
FILE_PATTERNS = *.dox
GENERATE_TREEVIEW = NO
LAYOUT_FILE = @PROJECT_SOURCE_DIR@/doc/doxygenLayout.xml
GENERATE_TREEVIEW = YES
LAYOUT_FILE = @PROJECT_BINARY_DIR@/doc/doxygenLayout.xml
GENERATE_XML = YES
table.pkglist
{
padding: 1em;
}
......@@ -3,6 +3,7 @@
<!-- Navigation index tabs for HTML output -->
<navindex>
<tab type="mainpage" visible="yes" title=""/>
<tab type="user" url="@HPPTUTORIAL_URL@" visible="yes" title="Tutorials"/>
<tab type="pages" visible="yes" title="" intro=""/>
<tab type="modules" visible="yes" title="" intro=""/>
<tab type="namespaces" visible="no" title="">
......
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="refresh" content="0; url=doxygen-html/index.html" />
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Humanoid Path Planner</title>
</head>
<frameset cols="250,*">
<frame src="tree.html" name="treefrm">
<frame src="doxygen-html/index.html" name="basefrm">
<noframes>
<a href="doxygen-html/index.html">Frames are disabled. Click here to go to the main page.</a>
</noframes>
</frameset>
<body>
<a href="doxygen-html/index.html">The documentation has moved here.</a>
</body>
</html>
......@@ -55,16 +55,9 @@ how to use this project.
/**
\page hpp_doc_dependency_graph Graph of dependencies between packages
\page hpp_doc_algorithms Algorithms
Below is the graph of dependencies between packages.
\dotfile graphDep.dot "Dependency graph"
**/
/**
\page hpp_doc_algorithms Packages implementing algorithms
<h1>Packages implementing algorithms</h1>
<h2>Technical tools</h2>
<table class="pkglist">
......@@ -132,7 +125,9 @@ Below is the graph of dependencies between packages.
/**
\page hpp_doc_corba_interface Packages implementing CORBA interfaces
\page hpp_doc_corba_interface Corba interfaces
<h1>Packages implementing CORBA interfaces</h1>
The following packages implement Corba communication functionalities
\li @HPPCORBASERVER_LINK@ : Corba server embedding a hpp::core::ProblemSolver instance.
......@@ -143,7 +138,9 @@ The following packages implement Corba communication functionalities
/**
\page hpp_doc_graphical_interface Packages implementing graphical user interface
\page hpp_doc_graphical_interface Graphical user interface
<h1>Packages implementing graphical user interface</h1>
The following packages implement a corba connection with a graphical display
\li @GEPETTOVIEWER_LINK@ : Graphical window based on OpenSceneGraph.
......@@ -151,3 +148,14 @@ The following packages implement a corba connection with a graphical display
\li @HPPGEPETTOVIEWER_LINK@ : Link between hpp and gepetto-viewer-corba.
**/
/**
\page hpp_doc_dependency_graph Dependencies
<h1>Graph of dependencies between packages</h1>
Below is the graph of dependencies between packages.
\dotfile graphDep.dot "Dependency graph"
**/
/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
DIV.tabs
{
float : left;
width : 100%;
background : url("tab_b.gif") repeat-x bottom;
margin-bottom : 4px;
}
DIV.tabs UL
{
margin : 0px;
padding-left : 10px;
list-style : none;
}
DIV.tabs LI, DIV.tabs FORM
{
display : inline;
margin : 0px;
padding : 0px;
}
DIV.tabs FORM
{
float : right;
}
DIV.tabs A
{
float : left;
background : url("tab_r.gif") no-repeat right top;
border-bottom : 1px solid #84B0C7;
font-size : x-small;
font-weight : bold;
text-decoration : none;
}
DIV.tabs A:hover
{
background-position: 100% -150px;
}
DIV.tabs A:link, DIV.tabs A:visited,
DIV.tabs A:active, DIV.tabs A:hover
{
color: #1A419D;
}
DIV.tabs SPAN
{
float : left;
display : block;
background : url("tab_l.gif") no-repeat left top;
padding : 5px 9px;
white-space : nowrap;
}
DIV.tabs INPUT
{
float : right;
display : inline;
font-size : 1em;
}
DIV.tabs TD
{
font-size : x-small;
font-weight : bold;
text-decoration : none;
}
/* Commented Backslash Hack hides rule from IE5-Mac \*/
DIV.tabs SPAN {float : none;}
/* End IE5-Mac hack */
DIV.tabs A:hover SPAN
{
background-position: 0% -150px;
}
DIV.tabs LI.current A
{
background-position: 100% -150px;
border-width : 0px;
}
DIV.tabs LI.current SPAN
{
background-position: 0% -150px;
padding-bottom : 6px;
}
DIV.nav
{
background : none;
border : none;
border-bottom : 1px solid #84B0C7;
}
body, table, div, p, dl {
font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
font-size: 12px;
}
/* @group Heading Levels */
h1 {
text-align: center;
font-size: 150%;
font-variant: small-caps;
}
h2 {
font-size: 120%;
}
h3 {
font-size: 100%;
}
h4 {
color: #3C9A35;
}
h2, h3, hr {
font-variant: small-caps;
color:#0066CC;
}
/* @end */
caption {
font-weight: bold;
}
div.qindex, div.navtab{
background-color: #e8eef2;
border: 1px solid #84b0c7;
text-align: center;
margin: 2px;
padding: 2px;
}
div.qindex, div.navpath {
width: 100%;
line-height: 140%;
}
div.navtab {
margin-right: 15px;
}
/* @group Link Styling */
a {
color: #0066CC;
font-weight: bolder;
text-decoration: none;
}
.contents a:visited {
color: #3C9A35;
}
a:hover {
text-decoration: underline;
}
a.qindex {
font-weight: bold;
}
a.qindexHL {
font-weight: bold;
background-color: #6666cc;
color: #ffffff;
border: 1px double #9295C2;
}
.contents a.qindexHL:visited {
color: #ffffff;
}
a.el {
font-weight: bold;
}
a.elRef {
}
a.code {
}
a.codeRef {
}
/* @end */
dl.el {
margin-left: -1cm;
}
.fragment {
font-family: monospace, fixed;
font-size: 105%;
}
pre.fragment {
border: 1px solid #CCCCCC;
background-color: #f5f5f5;
padding: 4px 6px;
margin: 4px 8px 4px 2px;
}
div.ah {
background-color: black;
font-weight: bold;
color: #ffffff;
margin-bottom: 3px;
margin-top: 3px
}
div.groupHeader {
margin-left: 16px;
margin-top: 12px;
margin-bottom: 6px;
font-weight: bold;
}
div.groupText {
margin-left: 16px;
font-style: italic;
}
body {
background: white;
color: black;
margin-right: 20px;
margin-left: 20px;
}
td.indexkey {
background-color: #e8eef2;
font-weight: bold;
border: 1px solid #CCCCCC;
margin: 2px 0px 2px 0;
padding: 2px 10px;
}
td.indexvalue {
background-color: #e8eef2;
border: 1px solid #CCCCCC;
padding: 2px 10px;
margin: 2px 0px;
}
tr.memlist {
background-color: #f0f0f0;
}
p.formulaDsp {
text-align: center;
}
img.formulaDsp {
}
img.formulaInl {
vertical-align: middle;
}
/* @group Code Colorization */
span.keyword {
color: #008000
}
span.keywordtype {
color: #604020
}
span.keywordflow {
color: #e08000
}
span.comment {
color: #800000
}
span.preprocessor {
color: #806020
}
span.stringliteral {
color: #002080
}
span.charliteral {
color: #008080
}
span.vhdldigit {
color: #ff00ff
}
span.vhdlchar {
color: #000000
}
span.vhdlkeyword {
color: #700070
}
span.vhdllogic {
color: #ff0000
}
/* @end */
.search {
color: #003399;
font-weight: bold;
}
form.search {
margin-bottom: 0px;
margin-top: 0px;
}
input.search {
font-size: 75%;
color: #000080;
font-weight: normal;
background-color: #e8eef2;
}
td.tiny {
font-size: 75%;
}
.dirtab {
padding: 4px;
border-collapse: collapse;
border: 1px solid #84b0c7;
}
th.dirtab {
background: #e8eef2;
font-weight: bold;
}
hr {
height: 0;
border: none;
border-top: 1px solid #666;
}
/* @group Member Descriptions */
.mdescLeft, .mdescRight,
.memItemLeft, .memItemRight,
.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
background-color: #FAFAFA;
border: none;
margin: 4px;
padding: 1px 0 0 8px;
}
.mdescLeft, .mdescRight {
padding: 0px 8px 4px 8px;
color: #555;
}
.memItemLeft, .memItemRight, .memTemplParams {
border-top: 1px solid #ccc;
}
.memTemplParams {
color: #606060;
}
/* @end */
/* @group Member Details */
/* Styles for detailed member documentation */
.memtemplate {
font-size: 80%;
color: #606060;
font-weight: normal;
margin-left: 3px;
}
.memnav {
background-color: #e8eef2;
border: 1px solid #84b0c7;
text-align: center;
margin: 2px;
margin-right: 15px;
padding: 2px;
}
.memitem {
padding: 0;
}
.memname {
white-space: nowrap;
font-weight: bold;
}
.memproto, .memdoc {
border: 1px solid #84b0c7;
}
.memproto {
padding: 0;
background-color: #d5e1e8;
font-weight: bold;
-webkit-border-top-left-radius: 8px;
-webkit-border-top-right-radius: 8px;
-moz-border-radius-topleft: 8px;
-moz-border-radius-topright: 8px;
}
.memdoc {
padding: 2px 5px;
background-color: #eef3f5;
border-top-width: 0;
-webkit-border-bottom-left-radius: 8px;
-webkit-border-bottom-right-radius: 8px;
-moz-border-radius-bottomleft: 8px;
-moz-border-radius-bottomright: 8px;
}
.paramkey {
text-align: right;
}
.paramtype {
white-space: nowrap;
}
.paramname {
color: #602020;
white-space: nowrap;
}
.paramname em {
font-style: normal;
}
/* @end */
/* @group Directory (tree) */
/* for the tree view */
.ftvtree {
font-family: sans-serif;
margin: 0.5em;
}
/* these are for tree view when used as main index */
.directory {
font-size: 9pt;
font-weight: bold;
}
.directory h3 {
margin: 0px;
margin-top: 1em;
font-size: 11pt;
}
/*
The following two styles can be used to replace the root node title
with an image of your choice. Simply uncomment the next two styles,
specify the name of your image and be sure to set 'height' to the
proper pixel height of your image.
*/
/*
.directory h3.swap {
height: 61px;
background-repeat: no-repeat;
background-image: url("yourimage.gif");
}
.directory h3.swap span {
display: none;
}
*/
.directory > h3 {
margin-top: 0;
}
.directory p {
margin: 0px;