Replies: 6 comments
-
Question: |
Beta Was this translation helpful? Give feedback.
-
One approach would be to split into 'library-interface' and 'library-implementation' to allow non-cyclic dependencies. I'm CMake, that would be straightforward. In vcpkg, it would require two ports, and either splitting the download or downloading it twice. |
Beta Was this translation helpful? Give feedback.
-
vcpkg is basically CMake..... but it seems like your two ports are in reality one port with 3 exported targets. |
Beta Was this translation helpful? Give feedback.
-
Not quite sure myself what this is. |
Beta Was this translation helpful? Give feedback.
-
I'm not sure why this is requires:discussion; it doesn't seem like this is something we intend to investigate in the near term. |
Beta Was this translation helpful? Give feedback.
-
Usually, the plugin must rely on the library or executable to use, if not, it can be turned into an independent target, as @Neumann-A said. |
Beta Was this translation helpful? Give feedback.
-
I have two ports 'library' and 'plugin'. Typically, 'plugin' is loaded at runtime, but to simplify installation, I would like to link it into the application. Technically, this is possible, either statically or dynamically, except for one missing vcpkg feature:
'library' provides header files needed to compile 'plugin', but before linking 'library', the output of the 'plugin' build must already exist. I would therefore need to be able to install just the headers of 'library' before building 'plugin' but defer the build of 'library' for later.
(The problem specifically exists for Windows dynamic linking, because linking a DLL requires all dependencies to be resolved by a .LIB import library. AFAIK on Linux, missing symbols would only be found at the final link time of the executable, so the problem would not exist.)
I am aware that this feature might require fundamental restructuring of vcpkg, so it might not be worth the effort for a rare situation. Still, I wanted to put this up for discussion...
Beta Was this translation helpful? Give feedback.
All reactions