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: dev-unsubscr...@celix.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org