Resolve "EXTERN: Adapt to Conan 2"
Summary
Updating from Conan 1 to Conan 2.5 required several changes, both on the conanfile.py
as well as the CMakeLists.txt
file(s).
Related to
Related MR for integration tests: caosdb-cppinttest!35 (merged)
Focus
The biggest changes are in conanfile.py
and CMakeLists.txt
all according to the migration guide. Crucial here are
- Conan now doesn't appear in the
CMakeLists.txt
files anymore. Instead, Conan generates CMakeToolChain files, which handle all the necessary includes etc. The toolchain files are passed to CMake as arguments. - Packages are included in our CMakeLists.txt using CMake's
FindPackage
- Conan 2.0 builds into
build/<build_type>
, i.e.build/Release
orbuild/Debug
Test Environment
How to set up a test environment for manual testing?
Check List for the Author
Please, prepare your MR for a review. Be sure to write a summary and a focus and create gitlab comments for the reviewer. They should guide the reviewer through the changes, explain your changes and also point out open questions. For further good practices have a look at our review guidelines
-
All automated tests pass -
Reference related issues -
Up-to-date CHANGELOG.md (or not necessary) -
Up-to-date JSON schema (or not necessary) -
Appropriate user and developer documentation (or not necessary) - How do I use the software? Assume "stupid" users.
- How do I develop or debug the software? Assume novice developers.
-
Annotations in code (Gitlab comments) - Intent of new code
- Problems with old code
- Why this implementation?
Check List for the Reviewer
-
I understand the intent of this MR -
All automated tests pass -
Up-to-date CHANGELOG.md (or not necessary) -
Appropriate user and developer documentation (or not necessary) -
The test environment setup works and the intended behavior is reproducible in the test environment -
In-code documentation and comments are up-to-date. -
Check: Are there specifications? Are they satisfied?
For further good practices have a look at our review guidelines.
Edited by Florian Spreckelsen