From 1f9474b392f26312b41a61334825ad8c714f12f5 Mon Sep 17 00:00:00 2001 From: Rene Rivera Date: Sat, 1 Apr 2023 16:52:58 -0500 Subject: [PATCH] Documentation for B2Deps generator. --- images/integrations/conan-b2-logo.png | Bin 0 -> 19420 bytes integrations.rst | 1 + integrations/b2.rst | 21 +++++ reference/tools.rst | 1 + reference/tools/b2.rst | 9 +++ reference/tools/b2/b2deps.rst | 111 ++++++++++++++++++++++++++ 6 files changed, 143 insertions(+) create mode 100644 images/integrations/conan-b2-logo.png create mode 100644 integrations/b2.rst create mode 100644 reference/tools/b2.rst create mode 100644 reference/tools/b2/b2deps.rst diff --git a/images/integrations/conan-b2-logo.png b/images/integrations/conan-b2-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9ff099931b49ab846ef6cadf9950404cb69fae46 GIT binary patch literal 19420 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%0DjDf#uzH-qiBj zc4`FIjJ+Xy&FITV7R$AJd$%dr>hP_*dxE1pjPOdW4xI)CWVc)SWLtExdt3M?G6hEo zvwSDmC*>*Gse8Y^@3g1>b9$(mYW!2CRN3cyfD;K_4wx7jo7`+|*;#;)(84VNRJGpj z=DNW6>H_prO@!2g*%s0M*v=>bUK7BeAOr%SUSG)d?w1>%lj}uyx1Qd)D#K1Ti5G;Z z`a@oyignvW)9Lq0nPwXu-sM^y0k50FS%G;9VSgva=iI-#z zly}e*Uz!HUTvBNNE{f83Th)GBTcbR+0>*H!loU9p zadFr#&uLH7SHUQiiMlVUPnv&qI^$dC{I=ucdYuQ^@Ts%jc)brRO+`h;sO{>DNdtSU zX+E4ljq_~|-Ork7grP~LD_aD9bj?One=5gR>f!cGNlgv!brH~Va3sdkQ6`anC}X_z zPx0qg%V~O=Gw98S&(F_ixi2Zw`tB9H61P-rPwjEDFH^faj)H`{EJAf!e*X zk(HedfP;f8zpN(fX4w3oPCr;C3!5V&NK$OU5m*Q|GdH6un|i?&1q8j`6oVHM5)u#) z7*qVLf#?F~s~UVMrv8zNqvQ;Z&$L(j2Vz@38YrWcJ|AXdxlIcT)duFFSoGkhV$h4# zfvum}aWJ07CS&!xudlJ=*H(rPFdQY!T|M{9Iw3Yjg6FK~1q^uOYyVFG?f?=075l;-lMb%09|5WLk)FVpU_m(!Nzrz(^OX>UBs0yW82af-rc3hKs zU}>8)u$Gg2rnHN-9oQxi+Z7>-YRbcv>AY!DzZaMaTvx-%Ed&mgIYUSPM`P5w24 zbO2rIs)Tz=9lU6&=N2dpI1Xf%{!9ao0Y@p>8g%?WCm7Wt80w~JQV#-p16_d*Km^c) zl6a)zDp}?I{@e28RX_FLTpCbZYK2!Q8K=%K{l5<6mXerP`oB!zT`. + - `B2 package managers documentation `_ diff --git a/reference/tools.rst b/reference/tools.rst index 34615be1a923..8a36e439194c 100644 --- a/reference/tools.rst +++ b/reference/tools.rst @@ -38,3 +38,4 @@ Contents: tools/layout tools/intel tools/android + tools/b2 diff --git a/reference/tools/b2.rst b/reference/tools/b2.rst new file mode 100644 index 000000000000..a5fdf451030f --- /dev/null +++ b/reference/tools/b2.rst @@ -0,0 +1,9 @@ +.. _conan_tools_b2: + +conan.tools.b2 +============== + +.. toctree:: + :maxdepth: 2 + + b2/b2deps diff --git a/reference/tools/b2/b2deps.rst b/reference/tools/b2/b2deps.rst new file mode 100644 index 000000000000..14d6f131d76e --- /dev/null +++ b/reference/tools/b2/b2deps.rst @@ -0,0 +1,111 @@ +.. _conan_tools_b2_b2deps: + +B2Deps +====== + +The ``B2Deps`` generator produces the necessary file for each dependency to be +able to use the dependency targets directly, and automatically. + +It can be used by name in conanfiles: + +.. code-block:: python + :caption: conanfile.py + + class Pkg(ConanFile): + generators = "B2Deps" + +.. code-block:: text + :caption: conanfile.txt + + [generators] + B2Deps + +And it can also be fully instantiated in the conanfile ``generate()`` method: + +.. code:: python + + from conan import ConanFile + from conan.tools.b2 import B2Deps + + class App(ConanFile): + settings = "os", "arch", "compiler", "build_type" + + def generate(self): + tc = B2Deps(self) + tc.generate() + + +Generated files +--------------- + +- **conanbuildinfo.jam**: The B2Deps generator will create a common Jamfile that + defines rules and include the variation specific `conanbuildinfo-XXX.jam` + files. + +- **conanbuildinfo-XXX.jam**: The B2Deps generator will create a variation + specific Jamfile for each variation that matches the dependency settings. + Each contains dependency subproject and targets for each dependency and + components. + +.. note:: + + The definitions in both the *conanbuildinfo.jam* and + *conanbuildinfo-XXX.jam* use names that are stable, and paths that are + relative to ``CONAN_HOME``. Hence the files are stable and portable and can + be checked into source control, or otherwise transported to other installs. + And, assuming that the dependencies are installed they will work without + changes nor needing to be regenerated. + +Sub-projects in conanbuildinfo-XXX.jam +-------------------------------------- + +The B2Deps generator defines sub-projects relative to the location of the +B2 project you generate the Conan configuration. For each package a +sub-project with the package name is created that contains targets you can +use as B2 sources in your projects. + +For example with this ``conanfile.txt``: + +.. code-block:: text + + [requires] + lyra/1.6.1 + fmt/9.1.0 + libdeflate/1.17 + + [generators] + B2Deps + +You would get three sub-projects defined relative to the ``conanfile.txt`` +location: + +.. code-block:: text + + project lyra ; + project fmt ; + project libdeflate ; + +For a root level project those could be referenced with an absolute project +path, for example */lyra*. Or you can use relative project paths as needed, +for example *../lyra* or *subproject/lyra*. + +Targets in *conanbuildinfo-XXX.jam* +----------------------------------- + +For each package targets in the corresponding package subproject are created +that are specific to the variant built. Each package can have multiple such +targets depending on the components it specifies and libraries it links. For +all packages there is a target with the same name as the package. For example a +*lyra//lyra* target. If the package has components a target for each of +component is defined. And for each system library needing to be link a target is +define. + + +Reference +--------- + + +.. currentmodule:: conan.tools.b2 + +.. autoclass:: B2Deps + :members: