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

Reply via email to