Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add runtime_deploy docs #3789

Merged
merged 2 commits into from
Jul 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions reference/commands/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -118,13 +118,15 @@ like collecting licenses, generating reports, deploying binaries to the system,
$ conan install . --deployer=full_deploy


There are 2 built-in deployers:
There are 3 built-in deployers:

- ``full_deploy`` does a complete copy of the dependencies binaries in the local folder, with a minimal folder
structure to avoid conflicts between files and artifacts of different packages
- ``direct_deploy`` does a copy of only the immediate direct dependencies, but does not include the transitive
dependencies.

- ``runtime_deploy`` deploys all the shared libraries and the executables of the
dependencies (like ``.so``, ``.dll``, or ``.dylib`` files) into a flat directory
structure. (Available since Conan 2.5.0)

Some generators might have the capability of redefining the target "package folder". That means that if some other
generator like ``CMakeDeps`` is used that is pointing to the packages, it will be pointing to the local deployed
Expand Down
2 changes: 1 addition & 1 deletion whatsnew.rst
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ Conan 2 has redesigned the CLI for better consistency, removing ambiguities, and

New deployers
-------------
Conan 2 implements “deployers”, which can be called in the command line as ``conan install …. --deployer=mydeploy``, typically to perform copy operations from the Conan cache to user folders. Such deployers can be built-in (“full_deploy” and “direct_deploy” are provided so far), or user-defined, which can be shared and managed with ``conan config install``. Deployers run before generators, and they can change the target folders. For example, if the ``--deployer=full_deploy`` deployer runs before ``CMakeDeps``, the files generated by ``CMakeDeps`` will point to the local copy in the user folder done by the ``full_deploy`` deployer, and not to the Conan cache.
Conan 2 implements “deployers”, which can be called in the command line as ``conan install …. --deployer=mydeploy``, typically to perform copy operations from the Conan cache to user folders. Such deployers can be built-in (“full_deploy”, “direct_deploy” and "runtime_deploy" are provided so far), or user-defined, which can be shared and managed with ``conan config install``. Deployers run before generators, and they can change the target folders. For example, if the ``--deployer=full_deploy`` deployer runs before ``CMakeDeps``, the files generated by ``CMakeDeps`` will point to the local copy in the user folder done by the ``full_deploy`` deployer, and not to the Conan cache.

Deployers can be multi-configuration. Running ``conan install . --deployer=full_deploy`` repeatedly for different profiles, can achieve a fully self-contained project, including all the artifacts, binaries, and build files that is completely independent of Conan and no longer require Conan at all to build.

Expand Down