-
Notifications
You must be signed in to change notification settings - Fork 996
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
[question] How to Skip Recompilation of Modules When Updating a Shared Library Version in a C++11 Project? #17232
Comments
Hi @Neha200794 Thanks for your question. The most important point is to follow a more standard versioning approach, instead of This means that you should be doing:
These also are intended to work nicely with more standard version ranges like |
There is also a discussion in the future CI-tutorial (see open pull request in conan-io/docs#3799), specifically the |
Thanks for the quick response. What about override=True? can that be used in this case? |
Overrides wouldn't be recommended in most cases, just as a temporary workaround for resolving dependencies conflicts. I'd discourage using them for anything else.
In most cases, a dependency graph can only contain 1 version for a given library. It is possible under some circumstances and using advanced features to change this behavior, but in general this shouldn't be done. So if your graph resolve to version 2, then that will be the one. You will see what packages are resolved in the output of |
Hi @Neha200794 Any further feedback or question on this topic? Thanks! |
What is your question?
Hey
I’m working on a C++11 project that uses Conan2 for dependency management and CMake for building. The project has a structure like this:
Libraries: libA, libB, coreLib
Modules: 22 modules, like module1, module2, etc. (All depends on coreLib)
Main Executable: MainApp depends on all libraries and modules.
The coreLib is a shared dependency across all modules. When I make any changes to coreLib, it results in a new version (e.g., from coreLib/1-release to coreLib/2-release).
Currently, this requires me to:
Challenges I'm Facing:
What I’ve Tried:
Question:
Is there a way in Conan to manage this scenario more efficiently, such as:
Allowing modules to use different versions of coreLib during the build of MainApp without triggering recompilation?
Any guidance or best practices for handling such dependency updates would be greatly appreciated!
Have you read the CONTRIBUTING guide?
The text was updated successfully, but these errors were encountered: