From 8948f0a3dca96b6845f82dd4d4ea8e5f6745ba0c Mon Sep 17 00:00:00 2001 From: nojhan Date: Wed, 26 Jan 2022 16:45:51 +0100 Subject: [PATCH] fix doc: big update - use single doxyfile instead of one per module - use a cleaner and more modern style - reorder sections to put details first - hide diagrams by default - remove deprecated doxygen variables - disable latex generation by default - fix some doc typos --- CMakeLists.txt | 6 +- DoxygenLayout.xml | 226 +++++++ README.md | 4 + eo/doc/eo.doxyfile.cmake => doxyfile.cmake | 83 +-- doxygen-style.css | 736 +++++++++++++++++++++ edo/doc/CMakeLists.txt | 3 +- edo/doc/edo.doxyfile.cmake | 6 +- eo/doc/CMakeLists.txt | 3 +- eo/src/eoAlgoFoundry.h | 21 +- eo/src/eoAlgoFoundryEA.h | 12 +- eo/src/eoAlgoFoundryFastGA.h | 7 +- mo/doc/CMakeLists.txt | 3 +- mo/doc/mo.doxyfile.cmake | 4 +- moeo/doc/CMakeLists.txt | 3 +- moeo/doc/moeo.doxyfile.cmake | 4 +- problems/DTLZ/doc/moeo.doxyfile.cmake | 2 +- smp/doc/CMakeLists.txt | 3 +- smp/doc/smp.doxyfile.cmake | 4 +- 18 files changed, 1038 insertions(+), 92 deletions(-) create mode 100644 DoxygenLayout.xml rename eo/doc/eo.doxyfile.cmake => doxyfile.cmake (96%) create mode 100644 doxygen-style.css diff --git a/CMakeLists.txt b/CMakeLists.txt index 8f415bc67..57a9f5d2c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -81,13 +81,15 @@ set(SMP "false" CACHE BOOL "Build the SMP module") set(MPI "false" CACHE BOOL "Build the MPI module") ## EO Module -set(EO_MODULE_NAME "Evolving Object") +# set(EO_MODULE_NAME "Evolving Objects") +set(MODULE_NAME "Evolving Objects") set(CMAKE_SOURCE_DIR ${EO_SRC_DIR}) add_subdirectory(${EO_SRC_DIR}) if(NOT EO_ONLY) ## MO Module - set(MO_MODULE_NAME "Moving objects") + # set(MO_MODULE_NAME "Moving Objects") + set(MODULE_NAME "Moving Objects") set(CMAKE_SOURCE_DIR ${MO_SRC_DIR}) add_subdirectory(${MO_SRC_DIR}) diff --git a/DoxygenLayout.xml b/DoxygenLayout.xml new file mode 100644 index 000000000..562b5f2b8 --- /dev/null +++ b/DoxygenLayout.xml @@ -0,0 +1,226 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/README.md b/README.md index c9a6f9ef3..59ded2801 100644 --- a/README.md +++ b/README.md @@ -206,6 +206,10 @@ If you `ENABLE_CMAKE_TESTING` and `BUILD_TESTING`, it will be the tests, which y If you `ENABLE_CMAKE_EXAMPLE`, it will also build the examples. +If may want to make build scripts more verbose (especially when building the +doc) by enabling `CMAKE_VERBOSE_MAKEFILE`. + + ## Licenses Paradiseo is distributed under the GNU Lesser General Public License and the CeCILL license (depending on the modules). diff --git a/eo/doc/eo.doxyfile.cmake b/doxyfile.cmake similarity index 96% rename from eo/doc/eo.doxyfile.cmake rename to doxyfile.cmake index 934114d8f..6b1cb5257 100644 --- a/eo/doc/eo.doxyfile.cmake +++ b/doxyfile.cmake @@ -25,13 +25,13 @@ DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. -PROJECT_NAME = @PACKAGE_NAME@ +PROJECT_NAME = @MODULE_NAME@ # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = @PACKAGE_VERSION@ +PROJECT_NUMBER = @PROJECT_VERSION@ # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. @@ -272,22 +272,6 @@ SUBGROUPING = YES TYPEDEF_HIDES_STRUCT = NO -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols - -SYMBOL_CACHE_SIZE = 0 - #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- @@ -500,7 +484,7 @@ FILE_VERSION_FILTER = # file name after the option, if omitted DoxygenLayout.xml will be used as the name # of the layout file. -LAYOUT_FILE = +LAYOUT_FILE = @CMAKE_SOURCE_DIR@/DoxygenLayout.xml #--------------------------------------------------------------------------- # configuration options related to warning and progress messages @@ -594,7 +578,7 @@ RECURSIVE = YES # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. -EXCLUDE = @CMAKE_SOURCE_DIR@/src/obsolete @CMAKE_SOURCE_DIR@/test @CMAKE_SOURCE_DIR@/tutorial @CMAKE_SOURCE_DIR@/contrib @CMAKE_SOURCE_DIR@/app +EXCLUDE = @CMAKE_SOURCE_DIR@/deprecated @CMAKE_SOURCE_DIR@/eo/contrib @CMAKE_SOURCE_DIR@/eo/app @CMAKE_SOURCE_DIR@/eo/tutorial @CMAKE_SOURCE_DIR@/mo/tutorial @CMAKE_SOURCE_DIR@/moeo/tutorial @CMAKE_SOURCE_DIR@/smp/tutorial # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded @@ -608,7 +592,7 @@ EXCLUDE_SYMLINKS = NO # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* -EXCLUDE_PATTERNS = +EXCLUDE_PATTERNS = *.sif/* # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the @@ -622,7 +606,7 @@ EXCLUDE_SYMBOLS = # directories that contain example code fragments that are included (see # the \include command). -EXAMPLE_PATH = @CMAKE_SOURCE_DIR@/test +EXAMPLE_PATH = @CMAKE_SOURCE_DIR@/eo/test @CMAKE_SOURCE_DIR@/edo/test @CMAKE_SOURCE_DIR@/mo/test @CMAKE_SOURCE_DIR@/moeo/test @CMAKE_SOURCE_DIR@/smp/test # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp @@ -784,14 +768,16 @@ HTML_HEADER = HTML_FOOTER = -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# The HTML_EXTRA_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! -HTML_STYLESHEET = +# HTML_EXTRA_STYLESHEET = @CMAKE_SOURCE_DIR@/doxygen-awesome-css/doxygen-awesome.css +# HTML_EXTRA_STYLESHEET = @CMAKE_SOURCE_DIR@/doxygen_theme_flat_design/src/doxygen-style.css +HTML_EXTRA_STYLESHEET = @CMAKE_SOURCE_DIR@/doxygen-style.css # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML @@ -800,7 +786,7 @@ HTML_STYLESHEET = # JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox # Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). -HTML_DYNAMIC_SECTIONS = NO +HTML_DYNAMIC_SECTIONS = YES # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple's Xcode 3 @@ -970,7 +956,7 @@ SEARCHENGINE = YES # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. -GENERATE_LATEX = YES +GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be @@ -1129,18 +1115,6 @@ GENERATE_XML = NO XML_OUTPUT = xml -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that @@ -1301,11 +1275,6 @@ ALLEXTERNALS = NO EXTERNAL_GROUPS = YES -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- @@ -1319,15 +1288,6 @@ PERL_PATH = /usr/bin/perl CLASS_DIAGRAMS = YES -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. @@ -1350,7 +1310,7 @@ HAVE_DOT = YES # DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory # containing the font. -DOT_FONTNAME = FreeSans +DOT_FONTNAME = # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. # The default size is 10pt. @@ -1392,7 +1352,7 @@ UML_LOOK = NO # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. -TEMPLATE_RELATIONS = NO +TEMPLATE_RELATIONS = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented @@ -1440,7 +1400,18 @@ DIRECTORY_GRAPH = YES # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. -DOT_IMAGE_FORMAT = png +DOT_IMAGE_FORMAT = svg + +# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES +# to enable generation of interactive SVG images that allow zooming and panning. +# Note that this requires a modern browser other than Internet Explorer. +# Tested and working are Firefox, Chrome, Safari, and Opera. +# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml +# in order to make the SVG files visible. +# Older versions of IE do not have SVG support. +# This tag requires that the tag HAVE_DOT is set to YES. + +INTERACTIVE_SVG = YES # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. @@ -1486,7 +1457,7 @@ DOT_TRANSPARENT = NO # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. -DOT_MULTI_TARGETS = NO +DOT_MULTI_TARGETS = YES # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and diff --git a/doxygen-style.css b/doxygen-style.css new file mode 100644 index 000000000..4877ae6aa --- /dev/null +++ b/doxygen-style.css @@ -0,0 +1,736 @@ +/* This doxygen theme is free to use. If you like this, please Star https://github.com/kcwongjoe/doxygen_theme_flat_design */ + +/* Color Pattern. You can change this pattern to design your theme. */ + +:root { + /* Content */ + --bgcolor: #ffffff; + --bgfont: #303030; + --bgfont2: #3771c8; + --bgfont-hover: #3771c8; + --bgfont-hover-text-decoration: none; + --bgborder: #7d7d7d; + --bgborder2: #f6f6f6; + /* Main Header */ + --bg1color: #303030; + --bg1font: #ffffff; + --bg1font2: #3771c8; + /* Second header */ + --bg2color: #E2E2E2; + --bg2font: #7D7D7D; + --bg2-hover-bg: #ffffff; + --bg2-hover-font: #303030; + --bg2-hover-topborder: #3771c8; + /* Third header */ + --bg3color: #f6f6f6; + --bg3font: #303030; + --bg3font2: #7D7D7D; + /* Code */ + --code-bg: #f6f6f6; + --code-comment: #7D7D7D; + --code-keyword: #d73a49; + --code-preprocessor: #d73a49; + --code-keywordtype: #d73a49; + --code-text: #303030; + --code-code: #6f42c1; + --code-line: #7D7D7D; + --code-line-bg: #D8D8D8; + /* Namespace List, Class List icon */ + --icon-bg: #303030 + --icon-font: #3771c8; + /* Class Index */ + --qindex-menu-bg: #303030; + --qindex-menu-font: #ffffff; + --qindex-menu-font-hover: #3771c8; + --qindex-icon-bg: #3771c8; + --qindex-icon-font: #303030; + /* Member table */ + --mem-title-bg: #3771c8; + --mem-title-font: #ffffff; + --mem-subtitle-bg: #77b1f8; + --mem-subtitle-font: #303030; + --mem-subtitle-font-hover: #303030; + --mem-content-bg: #ffffff; + --mem-content-font: #303030; + --mem-content-border: grey; + --mem-content-highlighted:#3771c8; + /* Nav Tree */ + --nav-tree-bg: #E2E2E2; + --nav-tree-bg-hover: #ffffff; + --nav-tree-font: #7D7D7D; + --nav-tree-font-hover: #303030; + --nav-tree-bg-selected: #3771c8; + --nav-tree-font-selected: white; +} + +body, table, div, p, dl { + color: var(--bgfont); + background-color: var(--bgcolor); + line-height: 150%; + font: 14px/22px, Roboto, Arial; +} + +div.contents { + margin: 20px 40px; +} + +div.contents ul { + line-height: 200%; +} + +/***********************************/ + +/********** Project header *********/ + +/***********************************/ + +#titlearea { + border-bottom: none; + padding-bottom: 20px; + padding-top: 20px; +} + +#titlearea, #titlearea * { + color: var(--bg1font); + background-color: var(--bg1color); +} + +#projectname { + padding: 0px 40px !important; +} + +#projectbrief { + padding: 0px 40px !important; +} + +#projectalign { + padding: 0px !important; +} + +/***********************************/ + +/************ Main Menu ************/ + +/***********************************/ + +/* Margin */ + +#main-menu { + padding: 0px 30px; +} + +#main-menu a, #main-menu a:hover { + padding-top: 10px; + padding-bottom: 10px; +} + +/* Menu button */ + +#main-menu li a { + background-image: none; + font-family: Arial; + text-shadow: none; + font-size: 14px; + font-weight: 700; +} + +#main-menu, #main-menu>li>a { + background-image: none; + background-color: var(--bg2color); + color: var(--bg2font); + transition: 0.2s; +} + +/* hover Effect */ + +#main-menu>li { + border-top: 5px solid var(--bg2color); +} + +#main-menu>li:hover { + color: var(--bg2-hover-font); + background-color: var(--bg2-hover-bg); + border-top: 5px solid var(--bg2-hover-topborder); + font-width: bold; +} + +#main-menu>li:hover, #main-menu>li>a:hover, #main-menu>li>a.highlighted { + color: var(--bg2-hover-font); + background-color: var(--bg2-hover-bg); + font-width: bold; +} + +/* Search Bar */ + +#MSearchBox { + border-radius: 0; + box-shadow: none; +} + +#MSearchBox>span { + margin: 10px; +} + +#main-menu>li:last-child { + padding: 25px 0px; +} + +/* Reset search hover color*/ + +#main-menu>li:last-child:hover { + color: var(--bg2font); + background-color: var(--bg2color); + border-top: 5px solid var(--bg2color); +} + +#MSearchResultsWindow { + border: 1px solid var(--bg3font2); + background-color: var(--bg3color); + padding: 10px; +} + +body.SRPage, body.SRPage * { + font-family: Arial; +} + +/* Sub Menu */ + +#main-menu>li ul { + transition: max-height 0.2s ease-in-out; + padding: 0px; + border-radius: 0px !important; +} + +#main-menu>li ul:before, #main-menu>li ul:after { + border-width: 0px; +} + +#main-menu>li>ul li a, #main-menu>li>ul li { + background-color: var(--bgcolor); + color: var(--bgfont); + background-image: none; +} + +#main-menu>li>ul li a:hover, #main-menu>li>ul li:hover { + background-color: var(--bgfont2); + /*color: var(--bgfont);*/ + color: white; + font-width: bold; +} + +/***********************************/ + +/************** Header *************/ + +/***********************************/ + +div.headertitle { + padding: 5px 40px; +} + +div.header, div.header * { + color: var(--bg3font); + background-color: var(--bg3color); + border-bottom: none; +} + +div.summary { + padding-right: 40px; +} + +/***********************************/ + +/************** Link *************/ + +/***********************************/ + +a, a:visited, a:active, .contents a:visited, body.SRPage a, body.SRPage a:visited, body.SRPage a:active { + color: var(--bgfont); + text-decoration: none; +} + +a:hover, .contents a:hover, body.SRPage a:hover { + color: var(--bgfont-hover); + text-decoration: var(--bgfont-hover-text-decoration); +} + +/***********************************/ + +/************ Nav-path ************/ + +/***********************************/ + +#nav-path, #nav-path ul { + background-image: none; +} + +#nav-path ul { + padding: 5px 30px; +} + +#nav-path, #nav-path * { + color: var(--bg3font2); + background-color: var(--bg3color); + border: none; + font-family: Arial; +} + +li.navelem { + background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbG5zOnN2Z2pzPSJodHRwOi8vc3ZnanMuY29tL3N2Z2pzIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgeD0iMCIgeT0iMCIgdmlld0JveD0iMCAwIDI5Mi4zNTkgMjkyLjM1OSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTEyIDUxMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgY2xhc3M9IiI+PGc+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+Cgk8cGF0aCBkPSJNMjIyLjk3OSwxMzMuMzMxTDk1LjA3Myw1LjQyNEM5MS40NTYsMS44MDcsODcuMTc4LDAsODIuMjI2LDBjLTQuOTUyLDAtOS4yMzMsMS44MDctMTIuODUsNS40MjQgICBjLTMuNjE3LDMuNjE3LTUuNDI0LDcuODk4LTUuNDI0LDEyLjg0N3YyNTUuODEzYzAsNC45NDgsMS44MDcsOS4yMzIsNS40MjQsMTIuODQ3YzMuNjIxLDMuNjE3LDcuOTAyLDUuNDI4LDEyLjg1LDUuNDI4ICAgYzQuOTQ5LDAsOS4yMy0xLjgxMSwxMi44NDctNS40MjhsMTI3LjkwNi0xMjcuOTA3YzMuNjE0LTMuNjEzLDUuNDI4LTcuODk3LDUuNDI4LTEyLjg0NyAgIEMyMjguNDA3LDE0MS4yMjksMjI2LjU5NCwxMzYuOTQ4LDIyMi45NzksMTMzLjMzMXoiIGZpbGw9IiM3ZDdkN2QiIGRhdGEtb3JpZ2luYWw9IiMwMDAwMDAiIHN0eWxlPSIiIGNsYXNzPSIiPjwvcGF0aD4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPC9nPgo8ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8L2c+CjxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjwvZz4KPGcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPC9nPgo8L2c+PC9zdmc+); + background-size: 9px; +} + +li.navelem a { + margin-right: 20px; +} + +/***********************************/ + +/*************** mem ***************/ + +/***********************************/ + +.memtitle { + padding: 15px; + margin-top: 30px; + border-top-left-radius: 0px; + border-top-right-radius: 0px; +} + +.memtitle, .memtitle *, .memtitle a:visited { + border: none; + background-image: none; + color: var(--mem-title-font); + background-color: var(--mem-title-bg); +} + +.memproto { + padding: 2em; + text-shadow: none; + border-top-right-radius: 0px; + -moz-border-radius-topright: 0px; + -webkit-border-top-right-radius: 0px; +} + +.memproto, .memproto *, .memproto a:visited { + border: none; + background-image: none; + background-color: var(--mem-subtitle-bg); + color: var(--mem-subtitle-font); + font-size: inherit; + line-height: 100% +} + +.memproto a:hover { + color: var(--mem-subtitle-font-hover); +} + +.memdoc { + border-bottom: 1px solid var(--mem-content-border); + border-left: 1px solid var(--mem-content-border); + border-right: 1px solid var(--mem-content-border); + background-color: var(--mem-content-bg); + color: var(--mem-content-font); + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; + -moz-border-radius-bottomleft: 0px; + -moz-border-radius-bottomright: 0px; + -webkit-border-bottom-left-radius: 0px; + -webkit-border-bottom-right-radius: 0px; + padding:1em; +} + +.memdoc p, .memdoc dt { + padding: 0px 20px; +} + +.memdoc > p { + font-size:1.2em; +} + +.paramname { + color:black; +} + +td.memItemRight > a:first-of-type { + font-size:1.3em; +} + +/***********************************/ + +/************* Contents ************/ + +/***********************************/ + +a.anchor { + padding-top: 20px; +} + +dl { + border-left: 5px solid; + padding:1em; +} + +dt { + font-variant-caps: small-caps; +} + +dl.warning { + border-top: thin solid red; + border-right: thin solid red; + border-bottom: thin solid red; + border-left-color: red; + background-color: #fee; +} + +dl.warning > dt { + color: #500; +} + +dl.note { + border-top:thin solid green; + border-right:thin solid green; + border-bottom:thin solid green; + border-left-color:green; + background-color: #efe; +} + +dl.note > dt { + color: #050; +} + +div.textblock { + padding:2em; + border: 2px solid var(--bgfont2); + box-shadow:0.5em 0.5em 0.5em var(--bgfont); + background-color: #fafaff; +} + +div.textblock > p { + font-size:1.2em; +} + +div.textblock > p.definition { + font-size:0.8em; +} + +p.definition { + font-size: 0.8em; +} + +p.reference { + font-size: 0.8em; +} + +p { + background-color: transparent; +} + +table { + margin-top:4em; +} + +table.memname { + margin-top:0.1em; +} + +table.mlabels { + margin-top:0.1em; +} + +/***********************************/ + +/************* fragment ************/ + +/***********************************/ + +h2.groupheader { + color: #303030; + font-size: 200%; + font-weight: bold; + border-bottom: thin solid var(--bgfont2); + padding-bottom:1px; + margin-top:3em; +} + +h3 { + background-color:var(--bgfont2); + color: var(--bgcolor); + font-size: 1.5em; + margin:0px; + padding:1em; + margin-bottom:2em; + border: 2px solid var(--bgfont2); + box-shadow:0.5em 0.5em 0.5em var(--bgfont); +} + +div.fragment, pre.fragment { + border: none; + padding: 20px; + margin: none; + background-color: var(--code-bg); +} + +div.line { + background-color: var(--code-bg); +} + +span.comment { + color: var(--code-comment); +} + +span.keyword { + color: var(--code-keyword); +} + +span.preprocessor { + color: var(--code-preprocessor); +} + +span.keywordtype { + color: var(--code-keywordtype); +} + +span.mlabel { + background-color: var(--code-text); + color: var(--code-bg); + border-top: none; + border-left: none; + border-right: none; + border-bottom: none; + padding: 10px; + border-radius: 0px; +} + +a.code { + color: var(--code-code); +} + +span.lineno, span.lineno>* { + color: var(--code-line); + border-right: none; + background-color: var(--code-bg); +} + +span.lineno a { + background-color: var(--code-line-bg); +} + +span.lineno a:hover { + color: var(--bg3font); + background-color: var(--code-line-bg); +} + +/***********************************/ + +/************* directory ***********/ + +/***********************************/ + +.directory tr.even { + background-color: inherit; +} + +.iconfclosed { + background-image: url(closed-folder.png); + margin-right: 10px; +} + +.iconfopen { + background-image: url(opened-folder.png); + margin-right: 10px; +} + +.icondoc { + background-image: url(document.png); + margin-right: 10px; +} + +.arrow { + color: #7d7d7d; +} + +.icona { + vertical-align: middle; + margin-right: 5px; +} + +.icon { + background-color: var(--icon-bg); + color: var(--icon-font); + display: table-cell; + vertical-align: middle; + height: 20px; + width: 20px; +} + +div.ah { + background-color: var(--qindex-icon-bg); + color: var(--qindex-icon-font); + text-align: center; + background-image: none; + -webkit-box-shadow: none; + box-shadow: none; + -webkit-border-radius: 0px; + border-radius: 0px; + border: none; +} + +div.qindex { + background-color: var(--qindex-menu-bg); + border: none; + padding: 20px; +} + +a.qindex { + color: var(--qindex-menu-font); + font-weight: normal; + font-size: 20px; +} + +a:hover.qindex { + color: var(--qindex-menu-font-hover); +} + +a:visited.qindex { + color: var(--qindex-menu-font); +} + +table.classindex { + margin-top: 30px; + margin-bottom: 30px; +} + +table.classindex a.el { + font-weight: normal; +} + +/***********************************/ + +/************** footer *************/ + +/***********************************/ + +div.directory { + border-top: 1px solid var(--bgborder); + border-bottom: none; + margin: 20px 0px; +} + +div.directory a.el { + font-weight: normal; +} + +div.directory>table { + margin: 20px 0px; +} + +hr.footer { + border: none; +} + +.contents>hr { + border-top: 0px; +} + +/***********************************/ + +/*********** memberdecls ***********/ + +/***********************************/ + +.memItemLeft, .memItemRight { + padding: 15px 30px; + background-color: inherit; +} + +.mdescRight { + padding: 0px 30px 10px 30px; +} + +.memberdecls * { + background-color: inherit; +} + +.memSeparator { + border-bottom: 1px solid var(--bgborder2); +} + +.memTemplParams { + color: var(--bgfont); +} + +/***********************************/ + +/*********** nav-tree ***********/ + +/***********************************/ + +#nav-tree-contents { + background-color: var(--nav-tree-bg); + margin: 0px; +} + +#side-nav, #nav-tree { + background-image: none; + background-color: var(--nav-tree-bg); +} + +#nav-tree .item { + background-color: var(--nav-tree-bg); + font-family: Arial; + text-shadow: none; + font-size: 14px; + font-weight: 700; + padding: 10px; + color: var(--nav-tree-font); +} + +#nav-tree .arrow { + color: var(--nav-tree-font); +} + +#nav-tree .selected { + background-image: none; + background-color: var(--nav-tree-bg-selected); +} + +#nav-tree .selected a { + color: var(--nav-tree-font-selected); +} + +#nav-tree .item:hover { + background-color: var(--nav-tree-bg-hover); + color: var(--nav-tree-font-hover); +} + +#nav-tree .item a:hover { + color: var(--nav-tree-font-hover); +} + +#side-nav .ui-resizable-e { + background-image: none; + background-color: var(--nav-tree-bg); +} + +#nav-sync { + background-color: transparent; +} + +#nav-sync>img { + content: url(off_sync.png); +} + +#nav-sync.sync>img { + content: url(on_sync.png); +} + +/***********************************/ + +/*********** Plant UML ***********/ + +/***********************************/ + +.plantumlgraph > img { + width: 80%; +} diff --git a/edo/doc/CMakeLists.txt b/edo/doc/CMakeLists.txt index 435b71f75..b06aabcb3 100644 --- a/edo/doc/CMakeLists.txt +++ b/edo/doc/CMakeLists.txt @@ -22,7 +22,8 @@ if(DOXYGEN_FOUND) ) endif(UNIX AND NOT ${CMAKE_VERBOSE_MAKEFILE}) endif(DOXYGEN_EXECUTABLE) - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${EDO_DOC_CONFIG_FILE}.cmake" + # configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${EDO_DOC_CONFIG_FILE}.cmake" + configure_file("${CMAKE_SOURCE_DIR}/doxyfile.cmake" "${EDO_DOC_DIR}/${EDO_DOC_CONFIG_FILE}") install( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} diff --git a/edo/doc/edo.doxyfile.cmake b/edo/doc/edo.doxyfile.cmake index e3eef6602..252be5232 100644 --- a/edo/doc/edo.doxyfile.cmake +++ b/edo/doc/edo.doxyfile.cmake @@ -25,13 +25,13 @@ DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. -PROJECT_NAME = @PACKAGE_NAME@ +PROJECT_NAME = @EDO_MODULE_NAME@ # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = @PACKAGE_VERSION@ +PROJECT_NUMBER = @PROJECT_VERSION@ # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. @@ -1030,7 +1030,7 @@ SERVER_BASED_SEARCH = NO # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. -GENERATE_LATEX = YES +GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be diff --git a/eo/doc/CMakeLists.txt b/eo/doc/CMakeLists.txt index d33151474..f82b25551 100644 --- a/eo/doc/CMakeLists.txt +++ b/eo/doc/CMakeLists.txt @@ -32,8 +32,9 @@ IF (DOXYGEN_FOUND) ENDIF (DOXYGEN_EXECUTABLE) # configure cfg file + # "${CMAKE_CURRENT_SOURCE_DIR}/${EO_DOC_CONFIG_FILE}.cmake" CONFIGURE_FILE( - "${CMAKE_CURRENT_SOURCE_DIR}/${EO_DOC_CONFIG_FILE}.cmake" + "${CMAKE_SOURCE_DIR}/doxyfile.cmake" "${CMAKE_CURRENT_BINARY_DIR}/${EO_DOC_CONFIG_FILE}" ) diff --git a/eo/src/eoAlgoFoundry.h b/eo/src/eoAlgoFoundry.h index 79591b085..b85d919c4 100644 --- a/eo/src/eoAlgoFoundry.h +++ b/eo/src/eoAlgoFoundry.h @@ -99,7 +99,7 @@ class eoParameterFoundry : public eoForgeScalar< Itf > public: /** Underlying type of the parameter. * - * @note: You probably only want to use either `double` or `size_t`. + * @note You probably only want to use either `double` or `size_t`. * @see eoAlgoFoundry */ using Type = Itf; @@ -154,24 +154,25 @@ class eoParameterFoundry : public eoForgeScalar< Itf > * Now, you must implement the foundry just like any eoAlgo, by using the eoPop interface: * @code * foundry(pop); - * @encode + * @endcode + * * It will instantiate the needed operators (only) and the algorithm itself on-the-fly, * and then run it. * - * @note: The "encoding" which represent the selected options, figuring the actual meta-algorithm, + * @note The "encoding" which represent the selected options, figuring the actual meta-algorithm, * is a vector of `std::variant`, which can hold either a `size_t` or a `double`. * The first one is used to indicate the index of an operator class * *or* a parameter which is a size. * The second is used to store numerical parameters values. * - * @note: Thanks to the underlying eoOperatorFoundry, not all the added operators are instantiated. + * @note Thanks to the underlying eoOperatorFoundry, not all the added operators are instantiated. * Every instantiation is deferred upon actual use. That way, you can still reconfigure them * at any time with `eoForgeOperator::setup`, for example: * @code * foundry.selector.at(0).setup(0.5); // using constructor's arguments * @endcode * - * @warning If the managed constructor takes a reference YOU SHOULD ABSOLUTELY wrap it + * @warning If the managed constructor takes a reference *YOU SHOULD ABSOLUTELY* wrap it * in a `std::ref` when using `add` or `setup`, or it will silently be passed as a copy, * which would effectively disable any link between operators. * @@ -215,7 +216,7 @@ class eoAlgoFoundry : public eoAlgo * * i.e. Select an algorithm to instantiate. * - * @note: You need to indicate the type of each item + * @note You need to indicate the type of each item * if you want to call this with a brace-initialized vector. * * For example: @@ -230,7 +231,7 @@ class eoAlgoFoundry : public eoAlgo * eoAlgoFoundry::Encodings encoded_algo(foundry.size()); * encoded_algo[foundry.crossover_rates.index()] = crossover_rate; * encoded_algo[foundry.crossover_opers.index()] = crossover_oper; - * @encdoe + * @endcode */ void select( Encodings encodings ) { @@ -240,7 +241,7 @@ class eoAlgoFoundry : public eoAlgo /** Access to the encoding of the currently selected operator. * - * @warning: This returns a `std::variant`, which you should `std::get`. + * @warning This returns a `std::variant`, which you should `std::get`. * * For example: * @code @@ -248,14 +249,14 @@ class eoAlgoFoundry : public eoAlgo * double param_id = std::get(foundry.at(3)); * @endcode * - * @note: You can use rank, value or len to have automatic casting. + * @see rank, @see value or @see len to have automatic casting. */ Encoding & at(size_t i) { return _encodings.at(i); } - /** Access to the currently selected ID of an operator. + /** Access to the currently selected ID of an operator. */ template size_t rank(const OP& op) diff --git a/eo/src/eoAlgoFoundryEA.h b/eo/src/eoAlgoFoundryEA.h index b88870208..0167ae659 100644 --- a/eo/src/eoAlgoFoundryEA.h +++ b/eo/src/eoAlgoFoundryEA.h @@ -55,7 +55,7 @@ * // + continue * @endcode * - * @note: by default, the firsts of the five operators are selected. + * @note by default, the firsts of the five operators are select ed. * * If you don't (want to) recall the order of the operators in the encoding, * you can use the `index()` member, for example: @@ -66,12 +66,12 @@ * Now, you can call the fourdry just like any eoAlgo, by passing it an eoPop: * @code * foundry(pop); - * @encode + * @endcode * It will instantiate the needed operators (only) and the algorithm itself on-the-fly, * and then run it. * - * @note: Thanks to the underlying eoOperatorFoundry, not all the added operators are instantiated. - * Every instantiation is deferred upon actual use. That way, you can still reconfigure them + * @note Thanks to the underlying eoOperatorFoundry, not all the added operators are instantiated. + * Every instantiation is deferred upon actual use. That way, you can still reconfigure them * at any time with `eoForgeOperator::setup`, for example: * @code * foundry.selectors.at(0).setup(0.5); // using constructor's arguments @@ -135,8 +135,8 @@ class eoAlgoFoundryEA : public eoAlgoFoundry /** Return an approximate name of the seected algorithm. * - * @note: does not take into account parameters of the operators, - * only show class names. + * @note does not take into account parameters of the operators, + * only show class names. */ std::string name() { diff --git a/eo/src/eoAlgoFoundryFastGA.h b/eo/src/eoAlgoFoundryFastGA.h index 8ccbb7039..fefd9aa42 100644 --- a/eo/src/eoAlgoFoundryFastGA.h +++ b/eo/src/eoAlgoFoundryFastGA.h @@ -62,7 +62,7 @@ * }); * @endcode * - * @note: by default, the firsts of the 10 operators are selected. + * @note by default, the firsts of the 10 operators are selected. * * If you don't (want to) recall the order of the operators in the encoding, * you can use the `index()` member, for example: @@ -73,11 +73,12 @@ * Now, you can call the foundry just like any eoAlgo, by passing it an eoPop: * @code * foundry(pop); - * @encode + * @endcode + * * It will instantiate the needed operators (only) and the algorithm itself on-the-fly, * and then run it. * - * @note: Thanks to the underlying eoOperatorFoundry, not all the added operators are instantiated. + * @note Thanks to the underlying eoOperatorFoundry, not all the added operators are instantiated. * Every instantiation is deferred upon actual use. That way, you can still reconfigure them * at any time with `eoForgeOperator::setup`, for example: * @code diff --git a/mo/doc/CMakeLists.txt b/mo/doc/CMakeLists.txt index 6d37c9470..b9c8854ba 100755 --- a/mo/doc/CMakeLists.txt +++ b/mo/doc/CMakeLists.txt @@ -19,7 +19,8 @@ if(DOXYGEN_FOUND) WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) endif(UNIX AND NOT ${CMAKE_VERBOSE_MAKEFILE}) endif(DOXYGEN_EXECUTABLE) - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${MO_DOC_CONFIG_FILE}.cmake" + # configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${MO_DOC_CONFIG_FILE}.cmake" + configure_file("${CMAKE_SOURCE_DIR}/doxyfile.cmake" "${MO_DOC_DIR}/${MO_DOC_CONFIG_FILE}") install( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} diff --git a/mo/doc/mo.doxyfile.cmake b/mo/doc/mo.doxyfile.cmake index 406b4e042..a3bbe9e1a 100644 --- a/mo/doc/mo.doxyfile.cmake +++ b/mo/doc/mo.doxyfile.cmake @@ -31,7 +31,7 @@ PROJECT_NAME = @MO_MODULE_NAME@ # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = @PACKAGE_VERSION@ +PROJECT_NUMBER = @PROJECT_VERSION@ # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. @@ -987,7 +987,7 @@ FORMULA_FONTSIZE = 10 # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. -GENERATE_LATEX = YES +GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be diff --git a/moeo/doc/CMakeLists.txt b/moeo/doc/CMakeLists.txt index 01eaa1633..5c51bc3aa 100644 --- a/moeo/doc/CMakeLists.txt +++ b/moeo/doc/CMakeLists.txt @@ -22,7 +22,8 @@ if(DOXYGEN_FOUND) ) endif(UNIX AND NOT ${CMAKE_VERBOSE_MAKEFILE}) endif(DOXYGEN_EXECUTABLE) - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${MOEO_DOC_CONFIG_FILE}.cmake" + # configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${MOEO_DOC_CONFIG_FILE}.cmake" + configure_file("${CMAKE_SOURCE_DIR}/doxyfile.cmake" "${MOEO_DOC_DIR}/${MOEO_DOC_CONFIG_FILE}") install( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} diff --git a/moeo/doc/moeo.doxyfile.cmake b/moeo/doc/moeo.doxyfile.cmake index db45d599c..37ff49465 100644 --- a/moeo/doc/moeo.doxyfile.cmake +++ b/moeo/doc/moeo.doxyfile.cmake @@ -31,7 +31,7 @@ PROJECT_NAME = @MOEO_MODULE_NAME@ # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = @PACKAGE_VERSION@ +PROJECT_NUMBER = @PROJECT_VERSION@ # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. @@ -987,7 +987,7 @@ FORMULA_FONTSIZE = 10 # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. -GENERATE_LATEX = YES +GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be diff --git a/problems/DTLZ/doc/moeo.doxyfile.cmake b/problems/DTLZ/doc/moeo.doxyfile.cmake index 3f56ae1a2..cf02db64b 100644 --- a/problems/DTLZ/doc/moeo.doxyfile.cmake +++ b/problems/DTLZ/doc/moeo.doxyfile.cmake @@ -137,7 +137,7 @@ TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- -GENERATE_LATEX = YES +GENERATE_LATEX = NO LATEX_OUTPUT = latex LATEX_CMD_NAME = latex MAKEINDEX_CMD_NAME = makeindex diff --git a/smp/doc/CMakeLists.txt b/smp/doc/CMakeLists.txt index 3fa4481eb..05dc15e7f 100644 --- a/smp/doc/CMakeLists.txt +++ b/smp/doc/CMakeLists.txt @@ -19,7 +19,8 @@ if(DOXYGEN_FOUND) WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) endif(UNIX AND NOT ${CMAKE_VERBOSE_MAKEFILE}) endif(DOXYGEN_EXECUTABLE) - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${SMP_DOC_CONFIG_FILE}.cmake" + # configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${SMP_DOC_CONFIG_FILE}.cmake" + configure_file("${CMAKE_SOURCE_DIR}/doxyfile.cmake" "${SMP_DOC_DIR}/${SMP_DOC_CONFIG_FILE}") install( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} diff --git a/smp/doc/smp.doxyfile.cmake b/smp/doc/smp.doxyfile.cmake index c84c918eb..4b918135f 100644 --- a/smp/doc/smp.doxyfile.cmake +++ b/smp/doc/smp.doxyfile.cmake @@ -31,7 +31,7 @@ PROJECT_NAME = @SMP_MODULE_NAME@ # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = @PACKAGE_VERSION@ +PROJECT_NUMBER = @PROJECT_VERSION@ # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. @@ -988,7 +988,7 @@ FORMULA_FONTSIZE = 10 # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. -GENERATE_LATEX = YES +GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be