Files
ortools-clone/cmake/docs/cmake.dot

257 lines
7.0 KiB
Plaintext
Raw Normal View History

2020-02-17 17:29:42 +01:00
// C++: royalblue
// Python: gold
// Java: crimson
2020-09-30 18:22:24 +02:00
// .Net: darkviolet
2020-02-17 17:29:42 +01:00
@startdot
digraph CMake {
2020-03-09 11:48:13 +01:00
//rankdir=BT;
rankdir=TD;
2020-02-17 17:29:42 +01:00
subgraph clusterPrerequisite {
node [shape=box3d, style=filled, color=black];
CM [label="CMake", fillcolor=royalblue];
SWIG [label="Swig\n(Unix)", fillcolor=chocolate];
2020-10-06 15:28:29 +02:00
PY [label="Python\n(3.6+)", fillcolor=gold];
JV [label="Java\n(openJDK 8+)", fillcolor=crimson];
2020-10-06 15:28:29 +02:00
DN [label=".Net Core SDK\n(3.1)", fillcolor=darkviolet];
2020-09-30 18:22:24 +02:00
FS [label=".Net F#", fillcolor=darkviolet];
2020-02-17 17:29:42 +01:00
CM -> SWIG [arrowhead=none, style=invisible];
SWIG -> PY [arrowhead=none, style=invisible];
SWIG -> JV [arrowhead=none, style=invisible];
SWIG -> DN [arrowhead=none, style=invisible];
2020-05-27 17:58:21 +02:00
DN -> FS [arrowhead=none, style=invisible];
2020-02-17 17:29:42 +01:00
label = "Prerequisite";
}
subgraph clusterOR {
node [shape=box, style="rounded,filled", color=black, fillcolor=royalblue];
2020-02-17 17:29:42 +01:00
subgraph clusterDeps {
subgraph clusterZLIB {
ZLIB [label="ZLIB::ZLIB", color=royalblue];
color=royalblue;
label = "madler/zlib.git + cmake patch";
}
subgraph clusterAbsl {
Absl [label="absl::absl_*", color=royalblue];
color=royalblue;
label = "abseil/abseil-cpp.git";
}
subgraph clusterProtobuf {
Protobuf [label="protobuf::libprotobuf", color=royalblue];
color=royalblue;
label = "protocolbuffers/protobuf.git";
}
ZLIB -> Protobuf;
Absl -> Protobuf;
2020-02-17 17:29:42 +01:00
subgraph clusterCoinOR {
subgraph clusterCoinUtils {
CoinUtils [label="Coin::CoinUtils", color=royalblue];
color=royalblue;
2022-02-28 10:20:02 +01:00
label = "Mizux/CoinUtils.git";
2020-02-17 17:29:42 +01:00
}
subgraph clusterOsi {
Osi [label="Coin::Osi", color=royalblue];
color=royalblue;
2022-02-28 10:20:02 +01:00
label = "Mizux/Osi.git";
2020-02-17 17:29:42 +01:00
}
subgraph clusterClp {
Clp [label="Coin::Clp", color=royalblue];
OsiClp [label="Coin::OsiClp", color=royalblue];
ClpSolver [label="Coin::ClpSolver", color=royalblue];
color=royalblue;
2022-02-28 10:20:02 +01:00
label = "Mizux/Clp.git";
2020-02-17 17:29:42 +01:00
}
subgraph clusterCgl {
Cgl [label="Coin::Cgl", color=royalblue];
color=royalblue;
2022-02-28 10:20:02 +01:00
label = "Mizux/Cgl.git";
2020-02-17 17:29:42 +01:00
}
subgraph clusterCbc {
Cbc [label="Coin::Cbc", color=royalblue];
OsiCbc [label="Coin::OsiCbc", color=royalblue];
CbcSolver [label="Coin::CbcSolver", color=royalblue];
color=royalblue;
2022-02-28 10:20:02 +01:00
label = "Mizux/Cbc.git";
2020-02-17 17:29:42 +01:00
}
CoinUtils -> Osi;
CoinUtils -> Clp;
Osi -> Clp;
CoinUtils -> OsiClp;
Osi -> OsiClp;
Clp -> OsiClp;
Clp -> ClpSolver;
CoinUtils -> Cgl;
Osi -> Cgl;
OsiClp -> Cgl;
CoinUtils -> Cbc;
Osi -> Cbc;
Clp -> Cbc;
Cgl -> Cbc;
CoinUtils -> OsiCbc;
Osi -> OsiCbc;
Cbc -> OsiCbc;
Cbc -> CbcSolver;
color=royalblue;
label = "Coin-OR Solver\n(-DUSE_COINOR=ON)";
}
2022-02-28 10:20:02 +01:00
subgraph clusterGLPKSolver {
subgraph clusterGLPK {
GLPK [label="glpk::glpk"];
color=royalblue;
label = "Mizux/GLPK.git";
}
color=royalblue;
label = "GLPK Solver\n(-DUSE_GLPK=ON)";
}
subgraph clusterSCIPSolver {
subgraph clusterSCIP {
SCIP [label="scip::scip"];
color=royalblue;
label = "scipopt/scip.git";
}
color=royalblue;
label = "SCIP Solver\n(-DUSE_SCIP=ON)";
}
2020-02-17 17:29:42 +01:00
SWIG_WIN [label="swigwin\n(Windows)", color=chocolate];
// Intra deps
//ZLIB -> Protobuf;
//ZLIB -> Cbc;
//Absl -> Protobuf;
color=grey;
label = "Dependencies\n(-DBUILD_DEPS=ON)";
} // clusterDeps
subgraph clusterCXX {
node [shape=box, style="rounded,filled", color=black, fillcolor=royalblue];
OR_SRC [label="OR-Tools src\nortools/...", shape=folder];
2020-02-17 17:29:42 +01:00
OR_CPP [label="ortools::ortools"];
PKG_CPP [label="CMake Package", shape=box3d];
subgraph clusterCXXTest {
EX_CPP [label="C++ samples"];
label = "Examples\n(-DBUILD_TESTING=ON)";
2020-02-17 17:29:42 +01:00
}
PKG_CPP -> EX_CPP;
2020-02-17 17:29:42 +01:00
ZLIB -> OR_SRC;
Absl -> OR_SRC;
Protobuf -> OR_SRC;
ClpSolver -> OR_SRC;
CbcSolver -> OR_SRC;
2022-02-28 10:20:02 +01:00
GLPK -> OR_SRC;
SCIP -> OR_SRC;
2020-02-17 17:29:42 +01:00
// rendering hack
//OsiCbc -> OR_SRC [arrowhead=none, style=invisible];
OR_SRC -> OR_CPP;
OR_CPP -> PKG_CPP [label="install", color=royalblue];
2020-02-17 17:29:42 +01:00
color=royalblue;
label = "C++\n(-DBUILD_CXX=ON)";
} // clusterCXX
subgraph clusterPython {
node [shape=box, style="rounded,filled", color=black, fillcolor=gold];
2020-02-17 17:29:42 +01:00
OR_WPY [label="C++ Python wrappers", shape=note];
OR_PY [label="Python files", shape=note];
PKG_PY [label="Wheel package", shape=box3d];
subgraph clusterPythonTest {
EX_PY [label="Python samples"];
label = "Examples\n(-DBUILD_TESTING=ON)";
2020-02-17 17:29:42 +01:00
}
PKG_PY -> EX_PY;
2020-02-17 17:29:42 +01:00
OR_SRC -> OR_WPY [label="swig", color=chocolate];
OR_SRC -> OR_PY [label="swig", color=chocolate];
OR_WPY -> OR_PY;
OR_PY -> PKG_PY [label="python setup.py", color=gold];
2020-02-17 17:29:42 +01:00
color=gold;
label = "Python\n(-DBUILD_PYTHON=ON)";
} // clusterPython
subgraph clusterJava {
node [shape=box, style="rounded,filled", color=black, fillcolor=crimson];
2020-02-17 17:29:42 +01:00
OR_WJAVA [label="C++ Java wrappers", shape=note];
OR_JAVA [label="Java files", shape=note];
PKG_JAVA [label="Maven package", shape=box3d];
subgraph clusterJavaTest {
EX_JAVA [label="Java samples"];
label = "Examples\n(-DBUILD_TESTING=ON)";
2020-02-17 17:29:42 +01:00
}
PKG_JAVA -> EX_JAVA;
2020-02-17 17:29:42 +01:00
OR_SRC -> OR_WJAVA [label="swig", color=chocolate];
OR_SRC -> OR_JAVA [label="swig", color=chocolate];
OR_WJAVA -> OR_JAVA;
OR_JAVA -> PKG_JAVA [label="maven (WIP)", style="dotted", color=crimson];
2020-02-17 17:29:42 +01:00
color=crimson;
label = "Java\n(-DBUILD_JAVA=ON)";
} // clusterJava
subgraph clusterNet {
2020-09-30 18:22:24 +02:00
node [shape=box, style="rounded,filled", color=black, fillcolor=darkviolet];
2020-02-17 17:29:42 +01:00
OR_WNET [label="C++ .Net wrappers", shape=note];
OR_NET [label=".Net files", shape=note];
PKG_NET_RT [label="Nuget runtime package\nGoogle.OrTools.runtime.rid.nupkg", shape=box3d];
PKG_NET [label="Nuget package\nGoogle.OrTools.nupkg", shape=box3d];
subgraph clusterNetTest {
EX_NET [label=".Net samples"];
label = "Examples\n(-DBUILD_TESTING=ON)";
2020-02-17 17:29:42 +01:00
}
PKG_NET -> EX_NET;
2020-02-17 17:29:42 +01:00
OR_SRC -> OR_WNET [label="swig", color=chocolate];
OR_SRC -> OR_NET [label="swig", color=chocolate];
OR_WNET -> OR_NET;
2020-09-30 18:22:24 +02:00
OR_WNET -> PKG_NET_RT [label="dotnet package", color=darkviolet];
PKG_NET_RT -> PKG_NET [color=darkviolet];
OR_NET -> PKG_NET [label="dotnet package", color=darkviolet];
2020-02-17 17:29:42 +01:00
2020-09-30 18:22:24 +02:00
color=darkviolet;
2020-02-17 17:29:42 +01:00
label = ".Net\n(-DBUILD_DOTNET=ON)";
} // clusterNet
color=royalblue;
label = "OR-Tools (CMake)";
} // clusterOR
} // digraph
@enddot
// vim tw:0