From 2141191ebef5193851197df63c134a7a0db302ff Mon Sep 17 00:00:00 2001 From: memsharded Date: Mon, 14 Jul 2025 23:12:50 +0200 Subject: [PATCH] missing workspace super-install changes --- reference/commands/workspace.rst | 13 ++++++++++++- tutorial/developing_packages/workspaces.rst | 8 ++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/reference/commands/workspace.rst b/reference/commands/workspace.rst index 695609a24d75..f7a8cf383d5e 100644 --- a/reference/commands/workspace.rst +++ b/reference/commands/workspace.rst @@ -146,6 +146,17 @@ The command ``conan workspace source`` performs the equivalent of ``conan source defined within the workspace. +conan workspace install +----------------------- + +.. autocommand:: + :command: conan workspace install -h + + +The command ``conan workspace install`` performs the equivalent of ``conan install `` for every ``package`` +defined within the workspace in the correct order. + + conan workspace build --------------------- @@ -171,7 +182,7 @@ conan workspace super-install ----------------------------- .. autocommand:: - :command: conan workspace install -h + :command: conan workspace super-install -h The command ``conan workspace super-install`` is useful to install and build the current workspace diff --git a/tutorial/developing_packages/workspaces.rst b/tutorial/developing_packages/workspaces.rst index c374314e0530..6b5e781fbc07 100644 --- a/tutorial/developing_packages/workspaces.rst +++ b/tutorial/developing_packages/workspaces.rst @@ -20,7 +20,7 @@ Introduction A Conan *workspace* gives you the chance to manage several packages as ``editable`` mode in an -*orchestrated* or *monolithic* (also called *super-project*) way: +*orchestrated* or *monolithic* (also called *super-build*) way: * *orchestrated*, we denote Conan building the editable packages one by one starting on the applications/consumers if exist. * *monolithic*, we denote the editable packages built as a monolith, generating a single result (generators, etc) for the whole workspace. @@ -55,7 +55,7 @@ Let's see it with an example: .. code-block:: bash $ conan new workspace - $ conan workspace install + $ conan workspace super-install $ cmake --preset conan-release # use conan-default in Win $ cmake --build --preset conan-release @@ -171,7 +171,7 @@ The other important part is the ``conanws.py`` file: The role of the ``class MyWs(ConanFile)`` embedded conanfile is important, it defines the super-project necessary generators and layout. -The ``conan workspace install`` does not install the different editables separately, for +The ``conan workspace super-install`` does not install the different editables separately, for this command, the editables do not exist, they are just treated as a single "node" in the dependency graph, as they will be part of the super-project build. So there is only a single generated ``conan_toolchain.cmake`` and a single common set of dependencies @@ -186,7 +186,7 @@ the same when there are external dependencies. This can be tested with: $ conan new cmake_lib -d name=mymath $ conan create . $ conan new workspace -d requires=mymath/0.1 - $ conan workspace install + $ conan workspace super-install $ cmake ...