Skip to content

Commit 6f3e6ca

Browse files
committed
Add meson build infrastructure for doxygen based content
1 parent e0969b8 commit 6f3e6ca

File tree

21 files changed

+3279
-162
lines changed

21 files changed

+3279
-162
lines changed

.gitmodules

+3
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,6 @@
44
url = https://github.com/Coloquinte/PlaceRoute.git
55
branch = main
66
update = merge
7+
[submodule "documentation/pelican-plugins"]
8+
path = documentation/pelican-plugins
9+
url = https://github.com/getpelican/pelican-plugins

Seabreeze/doc/doxyfile Seabreeze/doc/Doxyfile.in

+23-23
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ PROJECT_NAME = "Seabreeze - Routing Toolbox"
4848
# could be handy for archiving the generated documentation or if some version
4949
# control system is used.
5050

51-
PROJECT_NUMBER = 1.0
51+
PROJECT_NUMBER = @VERSION@
5252

5353
# Using the PROJECT_BRIEF tag one can provide an optional one line description
5454
# for a project that appears at the top of each page and should give viewer a
@@ -68,7 +68,7 @@ PROJECT_LOGO =
6868
# entered, it will be relative to the location where doxygen was started. If
6969
# left blank the current directory will be used.
7070

71-
OUTPUT_DIRECTORY = .
71+
OUTPUT_DIRECTORY = @DOCBUILDDIR@
7272

7373
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096
7474
# sub-directories (in 2 levels) under the output directory of each output format
@@ -284,8 +284,8 @@ TAB_SIZE = 2
284284
# @} or use a double escape (\\{ and \\})
285285

286286
ALIASES = "function=\fn" \
287-
"important=\par Important:\n" \
288-
"remark=\par Remark:\n" \
287+
"important=\par Important:^^" \
288+
"remark=\par Remark:^^" \
289289
"sreturn=\b Returns:" \
290290
"True=\b True" \
291291
"true=\b true" \
@@ -981,19 +981,19 @@ WARN_LOGFILE =
981981
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
982982
# Note: If this tag is empty the current directory is searched.
983983

984-
INPUT = Seabreeze.dox \
985-
../src/Seabreeze/Node.h \
986-
../src/Node.cpp \
987-
Node.dox \
988-
../src/Seabreeze/Tree.h \
989-
../src/Tree.cpp \
990-
Tree.dox \
991-
../src/Seabreeze/Seabreeze.h \
992-
../src/Seabreeze.cpp \
993-
Seabreeze.dox \
994-
../src/katabatic/SeabreezeEngine.h \
995-
../src/SeabreezeEngine.cpp \
996-
SeabreezeEngine.dox
984+
INPUT = @TOP_SRCDIR@/Seabreeze/src/Node.cpp \
985+
@TOP_SRCDIR@/Seabreeze/src/Seabreeze.cpp \
986+
@TOP_SRCDIR@/Seabreeze/src/Seabreeze/Node.h \
987+
@TOP_SRCDIR@/Seabreeze/src/Seabreeze/Seabreeze.h \
988+
@TOP_SRCDIR@/Seabreeze/src/Seabreeze/Tree.h \
989+
@TOP_SRCDIR@/Seabreeze/src/SeabreezeEngine.cpp \
990+
@TOP_SRCDIR@/Seabreeze/src/Tree.cpp \
991+
@TOP_SRCDIR@/Seabreeze/src/katabatic/SeabreezeEngine.h \
992+
@DOCDIR@/Node.dox \
993+
@DOCDIR@/Seabreeze.dox \
994+
@DOCDIR@/Seabreeze.dox \
995+
@DOCDIR@/SeabreezeEngine.dox \
996+
@DOCDIR@/Tree.dox
997997

998998
# This tag can be used to specify the character encoding of the source files
999999
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
@@ -1293,7 +1293,7 @@ GENERATE_HTML = YES
12931293
# The default directory is: html.
12941294
# This tag requires that the tag GENERATE_HTML is set to YES.
12951295

1296-
HTML_OUTPUT = html
1296+
HTML_OUTPUT = Seabreeze
12971297

12981298
# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
12991299
# generated HTML page (for example: .htm, .php, .asp).
@@ -1931,7 +1931,7 @@ EXTRA_SEARCH_MAPPINGS =
19311931
# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
19321932
# The default value is: YES.
19331933

1934-
GENERATE_LATEX = YES
1934+
GENERATE_LATEX = NO
19351935

19361936
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
19371937
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
@@ -2431,15 +2431,15 @@ SKIP_FUNCTION_MACROS = YES
24312431
# the path). If a tag file is not located in the directory in which doxygen is
24322432
# run, you must also specify the path to the tagfile here.
24332433

2434-
TAGFILES = ../../hurricane/doc/hurricane/html/hurricane.tag=../hurricane \
2435-
../../hurricane/doc/viewer/html/viewer.tag=../viewer \
2436-
../../crlcore/doc/crlcore/html/crlcore.tag=../crlcore
2434+
TAGFILES = "@TAGDIR@/hurricane.tag=../hurricane" \
2435+
"@TAGDIR@/viewer.tag=../viewer" \
2436+
"@TAGDIR@/crlcore.tag=../crlcore"
24372437

24382438
# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
24392439
# tag file that is based on the input files it reads. See section "Linking to
24402440
# external documentation" for more information about the usage of tag files.
24412441

2442-
GENERATE_TAGFILE = html/Seabreeze.tag
2442+
GENERATE_TAGFILE = "@TAGDIR@/Seabreeze.tag"
24432443

24442444
# If the ALLEXTERNALS tag is set to YES, all external classes and namespaces
24452445
# will be listed in the class and namespace index. If set to NO, only the

crlcore/doc/crlcore/doxyfile crlcore/doc/crlcore/Doxyfile.in

+43-43
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Doxyfile 1.9.8
1+
@TAGDIR@# Doxyfile 1.9.8
22

33
# This file describes the settings to be used by the documentation system
44
# doxygen (www.doxygen.org) for a project.
@@ -48,7 +48,7 @@ PROJECT_NAME = "Coriolis Core (CRL)"
4848
# could be handy for archiving the generated documentation or if some version
4949
# control system is used.
5050

51-
PROJECT_NUMBER = 3.0
51+
PROJECT_NUMBER = @VERSION@
5252

5353
# Using the PROJECT_BRIEF tag one can provide an optional one line description
5454
# for a project that appears at the top of each page and should give viewer a
@@ -68,7 +68,7 @@ PROJECT_LOGO =
6868
# entered, it will be relative to the location where doxygen was started. If
6969
# left blank the current directory will be used.
7070

71-
OUTPUT_DIRECTORY = .
71+
OUTPUT_DIRECTORY = @DOCBUILDDIR@
7272

7373
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096
7474
# sub-directories (in 2 levels) under the output directory of each output format
@@ -274,10 +274,10 @@ TAB_SIZE = 2
274274
# @} or use a double escape (\\{ and \\})
275275

276276
ALIASES = "function=\fn" \
277-
"important=\par Important:\n" \
278-
"caution=\par Caution:\n" \
279-
"remark=\par Remark:\n" \
280-
"sample=\par Sample:\n" \
277+
"important=\par Important:^^" \
278+
"caution=\par Caution:^^" \
279+
"remark=\par Remark:^^" \
280+
"sample=\par Sample:^^" \
281281
"Return=<b>Returns:</b>" \
282282
"unsigned=\c unsigned" \
283283
"POD=\c POD" \
@@ -964,30 +964,30 @@ WARN_LOGFILE =
964964
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
965965
# Note: If this tag is empty the current directory is searched.
966966

967-
INPUT = ../../src/ccore/crlcore/Environment.h \
968-
Environment.dox \
969-
../../src/ccore/crlcore/Banner.h \
970-
Banner.dox \
971-
../../src/ccore/crlcore/Catalog.h \
972-
Catalog.dox \
973-
../../src/ccore/crlcore/SearchPath.h \
974-
SearchPath.dox \
975-
../../src/ccore/crlcore/AllianceLibrary.h \
976-
AllianceLibrary.dox \
977-
../../src/ccore/crlcore/RoutingLayerGauge.h \
978-
RoutingLayerGauge.dox \
979-
../../src/ccore/crlcore/RoutingGauge.h \
980-
RoutingGauge.dox \
981-
../../src/ccore/crlcore/AllianceFramework.h \
982-
AllianceFramework.dox \
983-
../../src/ccore/crlcore/AcmSigda.h \
984-
AcmSigda.dox \
985-
ToolEngine.dox \
986-
../../src/ccore/crlcore/ToolEngine.h \
987-
../../src/ccore/crlcore/ToolEngines.h \
988-
GraphicTool.dox \
989-
../../src/ccore/crlcore/GraphicToolEngine.h \
990-
CRL.dox
967+
INPUT = @TOP_SRCDIR@/crlcore/src/ccore/crlcore/AcmSigda.h \
968+
@TOP_SRCDIR@/crlcore/src/ccore/crlcore/AllianceFramework.h \
969+
@TOP_SRCDIR@/crlcore/src/ccore/crlcore/AllianceLibrary.h \
970+
@TOP_SRCDIR@/crlcore/src/ccore/crlcore/Banner.h \
971+
@TOP_SRCDIR@/crlcore/src/ccore/crlcore/Catalog.h \
972+
@TOP_SRCDIR@/crlcore/src/ccore/crlcore/Environment.h \
973+
@TOP_SRCDIR@/crlcore/src/ccore/crlcore/GraphicToolEngine.h \
974+
@TOP_SRCDIR@/crlcore/src/ccore/crlcore/RoutingGauge.h \
975+
@TOP_SRCDIR@/crlcore/src/ccore/crlcore/RoutingLayerGauge.h \
976+
@TOP_SRCDIR@/crlcore/src/ccore/crlcore/SearchPath.h \
977+
@TOP_SRCDIR@/crlcore/src/ccore/crlcore/ToolEngine.h \
978+
@TOP_SRCDIR@/crlcore/src/ccore/crlcore/ToolEngines.h \
979+
@DOCDIR@/AcmSigda.dox \
980+
@DOCDIR@/AllianceFramework.dox \
981+
@DOCDIR@/AllianceLibrary.dox \
982+
@DOCDIR@/Banner.dox \
983+
@DOCDIR@/CRL.dox \
984+
@DOCDIR@/Catalog.dox \
985+
@DOCDIR@/Environment.dox \
986+
@DOCDIR@/GraphicTool.dox \
987+
@DOCDIR@/RoutingGauge.dox \
988+
@DOCDIR@/RoutingLayerGauge.dox \
989+
@DOCDIR@/SearchPath.dox \
990+
@DOCDIR@/ToolEngine.dox
991991

992992
# This tag can be used to specify the character encoding of the source files
993993
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
@@ -1094,7 +1094,7 @@ EXAMPLE_RECURSIVE = NO
10941094
# that contain images that are to be included in the documentation (see the
10951095
# \image command).
10961096

1097-
IMAGE_PATH = images
1097+
IMAGE_PATH = @DOCDIR@/images
10981098

10991099
# The INPUT_FILTER tag can be used to specify a program that doxygen should
11001100
# invoke to filter for each input file. Doxygen will invoke the filter program
@@ -1287,7 +1287,7 @@ GENERATE_HTML = YES
12871287
# The default directory is: html.
12881288
# This tag requires that the tag GENERATE_HTML is set to YES.
12891289

1290-
HTML_OUTPUT = html
1290+
HTML_OUTPUT = crlcore
12911291

12921292
# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
12931293
# generated HTML page (for example: .htm, .php, .asp).
@@ -1314,7 +1314,7 @@ HTML_FILE_EXTENSION = .html
13141314
# of the possible markers and block names see the documentation.
13151315
# This tag requires that the tag GENERATE_HTML is set to YES.
13161316

1317-
HTML_HEADER = header.html
1317+
HTML_HEADER = @DOCDIR@/header.html
13181318

13191319
# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
13201320
# generated HTML page. If the tag is left blank doxygen will generate a standard
@@ -1324,7 +1324,7 @@ HTML_HEADER = header.html
13241324
# that doxygen normally uses.
13251325
# This tag requires that the tag GENERATE_HTML is set to YES.
13261326

1327-
HTML_FOOTER = footer.html
1327+
HTML_FOOTER = @DOCDIR@/footer.html
13281328

13291329
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
13301330
# sheet that is used by each HTML page. It can be used to fine-tune the look of
@@ -1336,7 +1336,7 @@ HTML_FOOTER = footer.html
13361336
# obsolete.
13371337
# This tag requires that the tag GENERATE_HTML is set to YES.
13381338

1339-
HTML_STYLESHEET = SoC.css
1339+
HTML_STYLESHEET = @DOCDIR@/SoC.css
13401340

13411341
# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
13421342
# cascading style sheets that are included after the standard style sheets
@@ -1925,7 +1925,7 @@ EXTRA_SEARCH_MAPPINGS =
19251925
# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
19261926
# The default value is: YES.
19271927

1928-
GENERATE_LATEX = YES
1928+
GENERATE_LATEX = NO
19291929

19301930
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
19311931
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
@@ -1982,7 +1982,7 @@ COMPACT_LATEX = NO
19821982
# The default value is: a4.
19831983
# This tag requires that the tag GENERATE_LATEX is set to YES.
19841984

1985-
PAPER_TYPE = a4wide
1985+
PAPER_TYPE = a4
19861986

19871987
# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
19881988
# that should be included in the LaTeX output. The package can be specified just
@@ -2011,7 +2011,7 @@ EXTRA_PACKAGES =
20112011
# description of the possible markers and block names see the documentation.
20122012
# This tag requires that the tag GENERATE_LATEX is set to YES.
20132013

2014-
LATEX_HEADER = header.tex
2014+
LATEX_HEADER = @DOCDIR@/header.tex
20152015

20162016
# The LATEX_FOOTER tag can be used to specify a user-defined LaTeX footer for
20172017
# the generated LaTeX document. The footer should contain everything after the
@@ -2425,15 +2425,15 @@ SKIP_FUNCTION_MACROS = YES
24252425
# the path). If a tag file is not located in the directory in which doxygen is
24262426
# run, you must also specify the path to the tagfile here.
24272427

2428-
TAGFILES = "../../../hurricane/doc/hurricane/html/hurricane.tag=../hurricane" \
2429-
"../../../hurricane/doc/viewer/html/viewer.tag=../viewer" \
2430-
"../../../unicorn/doc/unicorn/html/unicorn.tag=../unicorn"
2428+
TAGFILES = "@TAGDIR@/hurricane.tag=../hurricane" \
2429+
"@TAGDIR@/viewer.tag=../viewer" \
2430+
"@TAGDIR@/unicorn.tag=../unicorn"
24312431

24322432
# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
24332433
# tag file that is based on the input files it reads. See section "Linking to
24342434
# external documentation" for more information about the usage of tag files.
24352435

2436-
GENERATE_TAGFILE = html/crlcore.tag
2436+
GENERATE_TAGFILE = "@TAGDIR@/crlcore.tag"
24372437

24382438
# If the ALLEXTERNALS tag is set to YES, all external classes and namespaces
24392439
# will be listed in the class and namespace index. If set to NO, only the

crlcore/doc/crlcore/meson.build

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
cdata = configuration_data()
2+
cdata.set('VERSION', meson.project_version())
3+
4+
cdata.set('TOP_SRCDIR', meson.project_source_root())
5+
cdata.set('DOCDIR', meson.current_source_dir())
6+
cdata.set('DOCBUILDDIR', meson.current_build_dir() / 'doc')
7+
cdata.set('TAGDIR', meson.project_build_root())
8+
9+
doxyfile = configure_file(
10+
input: 'Doxyfile.in',
11+
output: 'Doxyfile',
12+
configuration: cdata,
13+
install: false
14+
)
15+
16+
crlcore_docs = custom_target(
17+
'crlcore-docs',
18+
input: doxyfile,
19+
output: 'doc',
20+
command: [doxygen, doxyfile],
21+
depends: [hurricane_docs, viewer_docs], #unicorn_docs
22+
install: true,
23+
install_dir: htmldir
24+
)
25+

crlcore/meson.build

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ subdir('src/LibraryManager')
33
subdir('src/cyclop')
44
subdir('src/pyCRL')
55
subdir('python')
6+
subdir('doc/crlcore')
67

78
CrlCore = declare_dependency(
89
link_with: [crlcore, librarymanager, pycrlcore],

documentation/pelican-plugins

Submodule pelican-plugins added at 10a1433

0 commit comments

Comments
 (0)