From 1786b95ab9c1ca45737d9a6680fc892a5fd94a9b Mon Sep 17 00:00:00 2001 From: czoido Date: Wed, 3 Jul 2024 09:21:15 +0200 Subject: [PATCH 1/2] add runtime_deploy --- reference/commands/install.rst | 6 ++++-- whatsnew.rst | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/reference/commands/install.rst b/reference/commands/install.rst index e8fcbf191fd5..9a73d4594932 100644 --- a/reference/commands/install.rst +++ b/reference/commands/install.rst @@ -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 diff --git a/whatsnew.rst b/whatsnew.rst index a841e7956d24..3f73a1e13130 100644 --- a/whatsnew.rst +++ b/whatsnew.rst @@ -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" (Conan 2.5.0) 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. From 53384a3c3d50c8d898ecfadb5ee6f2ca201599f4 Mon Sep 17 00:00:00 2001 From: czoido Date: Wed, 3 Jul 2024 09:22:24 +0200 Subject: [PATCH 2/2] minor changes --- whatsnew.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/whatsnew.rst b/whatsnew.rst index 3f73a1e13130..d8621cf25686 100644 --- a/whatsnew.rst +++ b/whatsnew.rst @@ -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”, “direct_deploy” and "runtime_deploy" (Conan 2.5.0) 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.