PengZheng opened a new pull request, #620:
URL: https://github.com/apache/celix/pull/620
This PR updates the whole project to support both Conan 1.x and the current
Conan 2:
- All generators unsupported by Conan 2 are dropped. CMake, CMakeDeps and
CMakeToolchain are used instread.
- Find modules are updated to account for changed targets name
introduced by these generators.
- CI has been updated to use `conanrun.sh`/`deactivate_conanrun.sh`
- Re-implement automatic intra-package dependency deduction in a way
supported by both Conan 1 and Conan 2:
- Conan 2 does not support dynamic defaults. That is, if an option has a
default, and user does not specify it, modifying it in `configure()` method
will be forbidden by Conan 2 but allowed by Conan 1. For an extensive
discussion with the Conan upstream, see
https://github.com/conan-io/conan/issues/14528
- Specify dependency option in `configure()` method. Previously this is done
in `requirements()` method, which is not supported by Conan 2.
- Use `self.requires("openssl/1.1.1t", override=True)` to resolve version
conflict of openssl caused by civetweb and libcurl. Note that it does not
introduce any dependency of openssl into Celix. For an extensive discusson, see
https://github.com/conan-io/conan/issues/14535#issuecomment-1687716696
- Update conan_create/ubuntu_build to use Conan 2, leaving other GitHub
actions untouched. Due to the low cache hit rate of Conan 2, updating them all
will lead to long build time.
- Uppdate documentation to reflect the new conan based workflow.
- Note that `conan build . -bf cmake-build-debug --configure` does not
work anymore. It will always lead to a full build.
- A CMake command line generated by `conan install` is used instead to
configure the build directory.
- Conan is said to produce a CMakeUserPresets.json in the project root,
which should enable a seamless integration with CLion. However, this file will
cause CLion's CMake window lose correspondence. Removing it from the project
root will fix the issue. Thus an extra line `tc.user_presets_path = False` is
added to suppress its production. I'll report it to JetBrains. Once this issue
solved, we can expect excellent user experience by combining Conan and CLion.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]