Skip to content

Commit 620b303

Browse files
authored
docs: move off of abandoned dep (#556)
Signed-off-by: Henry Schreiner <[email protected]>
1 parent 98d07af commit 620b303

File tree

3 files changed

+74
-65
lines changed

3 files changed

+74
-65
lines changed

docs/build_system.rst

Lines changed: 72 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -15,67 +15,77 @@ composed of multiple project called `external project`. Here is the list of `ext
1515
The flow chart represented below illustrates which external projects are included based on the configure
1616
options and describes the role of each one:
1717

18-
.. blockdiag::
18+
.. mermaid::
1919
:align: center
20-
:desctable:
2120

22-
blockdiag {
23-
orientation = portrait
24-
node_width = 200;
25-
node_height = 60;
26-
27-
28-
group{
29-
label = "Outer Project";
30-
color = "#FFF0D7";
31-
32-
// properties
33-
configure [shape = beginpoint, label = "CMakeLists", description="CMake configuration file"];
34-
ask_download [label ="Download source ?", shape = diamond, description = "If option ``CMakeProject_SOURCE_DIR`` is set, skip source download."];
35-
download_source [label ="Download Source archive", description = "External project downloading archives from https://cmake.org/files/."]
36-
reuse_source_dir [label ="Re-use source directory", description = "Empty external project."]
37-
38-
// connections
39-
configure ->ask_download
40-
41-
group{
42-
label = "ExternalProject: CMakeProject-src-download";
43-
color = "#E7CA92";
44-
ask_download -> download_source [label = "yes"];
45-
ask_download -> reuse_source_dir [label = "no"];
46-
}
47-
download_source -> ask_build
48-
reuse_source_dir -> ask_build
49-
50-
// properties
51-
ask_build [label = "Build from Source ?", shape = diamond, description = "Answer based on option ``BUILD_CMAKE_FROM_SOURCE``"];
52-
download_binaries[label = "CMakeProject-binary-download", description = "External project downloading pre-built binary archives from https://cmake.org/files/."]
53-
build_cmake[label = "CMakeProject-build", description = "External project building CMake from source."]
54-
strip_executables[label = "Strip executables", description = "If possible, reduce wheel size stripping cmake, cpack and ctest executables"]
55-
56-
// connections
57-
group{
58-
label = "External Projects";
59-
color = "#E7CA92";
60-
ask_build -> download_binaries [label = "no"];
61-
ask_build -> build_cmake [label = "yes"];
62-
build_cmake -> strip_executables
63-
}
64-
download_binaries -> ask_inner_build
65-
strip_executables -> ask_inner_build
66-
67-
// properties
68-
ask_inner_build [label = "Which files to install?", shape = diamond, description = "Answer based on option ``BUILD_CMAKE_FROM_SOURCE``"];
69-
install_pre_built[label = "Install prebuilt binaries", description = "Recursively glob all files and explicitly add install rules."];
70-
install_cmake_project[label = "Install CMake project", description = "Achieved by including ``${CMakeProject_BINARY_DIR}/cmake_install.cmake``."];
71-
72-
group{
73-
label = "Inner Project: CMakePythonDistributions";
74-
color = "#67789A";
75-
76-
// connections
77-
ask_inner_build -> install_pre_built [label = "no"];
78-
ask_inner_build -> install_cmake_project [label = "yes"];
79-
}
80-
}
81-
}
21+
flowchart LR
22+
subgraph OP[Outer Project]
23+
style OP fill:#FFF0D7
24+
configure["CMakeLists.tct"]
25+
ask_download{"Download source?"}
26+
download_source["Download Source archive"]
27+
reuse_source_dir["Re-use source directory"]
28+
ask_build{"Build from Source?"}
29+
download_binaries["CMakeProject-binary-download"]
30+
build_cmake["CMakeProject-build"]
31+
strip_executables["Strip executables"]
32+
ask_inner_build{"Which files to install?"}
33+
install_pre_built["Install prebuilt binaries"]
34+
install_cmake_project["Install CMake project"]
35+
36+
configure --> ask_download
37+
38+
subgraph EP1[ExternalProject: CMakeProject-src-download]
39+
style EP1 fill:#E7CA92
40+
ask_download -->|yes| download_source
41+
ask_download -->|no| reuse_source_dir
42+
end
43+
44+
download_source --> ask_build
45+
reuse_source_dir --> ask_build
46+
47+
subgraph EP2[External Projects]
48+
style EP2 fill:#E7CA92
49+
ask_build -->|no| download_binaries
50+
ask_build -->|yes| build_cmake
51+
build_cmake --> strip_executables
52+
end
53+
54+
download_binaries --> ask_inner_build
55+
strip_executables --> ask_inner_build
56+
57+
subgraph IP[Inner Project: CMakePythonDistributions]
58+
style IP fill:#a1acc2
59+
ask_inner_build -->|no| install_pre_built
60+
ask_inner_build -->|yes| install_cmake_project
61+
end
62+
end
63+
64+
65+
+----------------------------------------+--------------------------------------------------------------------------+
66+
| **Node Title** | **Description** |
67+
+========================================+==========================================================================+
68+
| CMakeLists | CMake configuration file |
69+
+----------------------------------------+--------------------------------------------------------------------------+
70+
| Download source ? | If option ``CMakeProject_SOURCE_DIR`` is set, skip source download. |
71+
+----------------------------------------+--------------------------------------------------------------------------+
72+
| Download Source archive | External project downloading archives from https://cmake.org/files/. |
73+
+----------------------------------------+--------------------------------------------------------------------------+
74+
| Re-use source directory | Empty external project. |
75+
+----------------------------------------+--------------------------------------------------------------------------+
76+
| Build from Source ? | Answer based on option ``BUILD_CMAKE_FROM_SOURCE`` |
77+
+----------------------------------------+--------------------------------------------------------------------------+
78+
| CMakeProject-binary-download | External project downloading pre-built binary archives from |
79+
| | https://cmake.org/files/. |
80+
+----------------------------------------+--------------------------------------------------------------------------+
81+
| CMakeProject-build | External project building CMake from source. |
82+
+----------------------------------------+--------------------------------------------------------------------------+
83+
| Strip executables | If possible, reduce wheel size stripping cmake, cpack and ctest |
84+
| | executables |
85+
+----------------------------------------+--------------------------------------------------------------------------+
86+
| Which files to install? | Answer based on option ``BUILD_CMAKE_FROM_SOURCE`` |
87+
+----------------------------------------+--------------------------------------------------------------------------+
88+
| Install prebuilt binaries | Recursively glob all files and explicitly add install rules. |
89+
+----------------------------------------+--------------------------------------------------------------------------+
90+
| Install CMake project | Achieved by including ``${CMakeProject_BINARY_DIR}/cmake_install.cmake`` |
91+
+----------------------------------------+--------------------------------------------------------------------------+

docs/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
# Add any Sphinx extension module names here, as strings. They can be
4040
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
4141
# ones.
42-
extensions = ['sphinxcontrib.blockdiag']
42+
extensions = ['sphinxcontrib.mermaid']
4343

4444
# Add any paths that contain templates here, relative to this directory.
4545
templates_path = ['_templates']

docs/requirements.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
docutils
22
funcparserlib>=1.0.0
33
furo
4-
pillow<10
54
pygments
65
sphinx
7-
sphinxcontrib-blockdiag # old, not compatible with pillow 10+
6+
sphinxcontrib-mermaid
87
tomli; python_version<"3.11"

0 commit comments

Comments
 (0)