257 lines
7.0 KiB
Plaintext
257 lines
7.0 KiB
Plaintext
// C++: royalblue
|
|
// Python: gold
|
|
// Java: crimson
|
|
// .Net: darkviolet
|
|
@startdot
|
|
digraph CMake {
|
|
//rankdir=BT;
|
|
rankdir=TD;
|
|
|
|
subgraph clusterPrerequisite {
|
|
node [shape=box3d, style=filled, color=black];
|
|
CM [label="CMake", fillcolor=royalblue];
|
|
SWIG [label="Swig\n(Unix)", fillcolor=chocolate];
|
|
PY [label="Python\n(3.6+)", fillcolor=gold];
|
|
JV [label="Java\n(openJDK 8+)", fillcolor=crimson];
|
|
DN [label=".Net Core SDK\n(3.1)", fillcolor=darkviolet];
|
|
FS [label=".Net F#", fillcolor=darkviolet];
|
|
CM -> SWIG [arrowhead=none, style=invisible];
|
|
SWIG -> PY [arrowhead=none, style=invisible];
|
|
SWIG -> JV [arrowhead=none, style=invisible];
|
|
SWIG -> DN [arrowhead=none, style=invisible];
|
|
DN -> FS [arrowhead=none, style=invisible];
|
|
|
|
label = "Prerequisite";
|
|
}
|
|
|
|
subgraph clusterOR {
|
|
node [shape=box, style="rounded,filled", color=black, fillcolor=royalblue];
|
|
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;
|
|
|
|
subgraph clusterCoinOR {
|
|
subgraph clusterCoinUtils {
|
|
CoinUtils [label="Coin::CoinUtils", color=royalblue];
|
|
|
|
color=royalblue;
|
|
label = "Mizux/CoinUtils.git";
|
|
}
|
|
subgraph clusterOsi {
|
|
Osi [label="Coin::Osi", color=royalblue];
|
|
|
|
color=royalblue;
|
|
label = "Mizux/Osi.git";
|
|
}
|
|
subgraph clusterClp {
|
|
Clp [label="Coin::Clp", color=royalblue];
|
|
OsiClp [label="Coin::OsiClp", color=royalblue];
|
|
ClpSolver [label="Coin::ClpSolver", color=royalblue];
|
|
|
|
color=royalblue;
|
|
label = "Mizux/Clp.git";
|
|
}
|
|
subgraph clusterCgl {
|
|
Cgl [label="Coin::Cgl", color=royalblue];
|
|
|
|
color=royalblue;
|
|
label = "Mizux/Cgl.git";
|
|
}
|
|
subgraph clusterCbc {
|
|
Cbc [label="Coin::Cbc", color=royalblue];
|
|
OsiCbc [label="Coin::OsiCbc", color=royalblue];
|
|
CbcSolver [label="Coin::CbcSolver", color=royalblue];
|
|
|
|
color=royalblue;
|
|
label = "Mizux/Cbc.git";
|
|
}
|
|
|
|
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)";
|
|
}
|
|
|
|
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)";
|
|
}
|
|
|
|
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];
|
|
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)";
|
|
}
|
|
PKG_CPP -> EX_CPP;
|
|
|
|
ZLIB -> OR_SRC;
|
|
Absl -> OR_SRC;
|
|
Protobuf -> OR_SRC;
|
|
ClpSolver -> OR_SRC;
|
|
CbcSolver -> OR_SRC;
|
|
GLPK -> OR_SRC;
|
|
SCIP -> OR_SRC;
|
|
// rendering hack
|
|
//OsiCbc -> OR_SRC [arrowhead=none, style=invisible];
|
|
|
|
OR_SRC -> OR_CPP;
|
|
OR_CPP -> PKG_CPP [label="install", color=royalblue];
|
|
|
|
color=royalblue;
|
|
label = "C++\n(-DBUILD_CXX=ON)";
|
|
} // clusterCXX
|
|
|
|
subgraph clusterPython {
|
|
node [shape=box, style="rounded,filled", color=black, fillcolor=gold];
|
|
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)";
|
|
}
|
|
PKG_PY -> EX_PY;
|
|
|
|
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];
|
|
|
|
color=gold;
|
|
label = "Python\n(-DBUILD_PYTHON=ON)";
|
|
} // clusterPython
|
|
|
|
subgraph clusterJava {
|
|
node [shape=box, style="rounded,filled", color=black, fillcolor=crimson];
|
|
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)";
|
|
}
|
|
PKG_JAVA -> EX_JAVA;
|
|
|
|
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];
|
|
|
|
color=crimson;
|
|
label = "Java\n(-DBUILD_JAVA=ON)";
|
|
} // clusterJava
|
|
|
|
subgraph clusterNet {
|
|
node [shape=box, style="rounded,filled", color=black, fillcolor=darkviolet];
|
|
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)";
|
|
}
|
|
PKG_NET -> EX_NET;
|
|
|
|
OR_SRC -> OR_WNET [label="swig", color=chocolate];
|
|
OR_SRC -> OR_NET [label="swig", color=chocolate];
|
|
OR_WNET -> OR_NET;
|
|
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];
|
|
|
|
color=darkviolet;
|
|
label = ".Net\n(-DBUILD_DOTNET=ON)";
|
|
} // clusterNet
|
|
|
|
color=royalblue;
|
|
label = "OR-Tools (CMake)";
|
|
} // clusterOR
|
|
} // digraph
|
|
@enddot
|
|
// vim tw:0
|