You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As I understand the solution for #14 is implemented only for boost and has tailored for CMake (new FindBoost.cmake is packaged with recipe) so impossible to use in other generators.
Are there any plans/ideas on generalizing this functionality?
I myself can imagine 2 opposite approaches:
Adding components into cpp_info so generators can employ it. Then CMake generator probably needs to produce a module which has support for find_package(COMPONENTS) and export libraries as a packages.
However it's unclear how to introduce dependencies between components, say boost has "boost" as headers and then "boost_filesystem" just adds library and depends on "boost" to pull in headers.
Every generator on its own.
In other words allow tighter coupling between package and build system it uses. Then for CMake use nice export() commands to produce relocatable packages, so conan's job is to define <Package>_DIR and find_package(Package CONFIG ...) will pull it in.
Other pros of this approach:
This specific configuration file may be tailored much better for the particular generator rather than generic one.
For CMake in particular it greatly simplifies developing multiple components at once as developer may override where find_package looks for file to consume dependency directly from local build folder.
The text was updated successfully, but these errors were encountered:
As I understand the solution for #14 is implemented only for boost and has tailored for CMake (new FindBoost.cmake is packaged with recipe) so impossible to use in other generators.
Are there any plans/ideas on generalizing this functionality?
I myself can imagine 2 opposite approaches:
Adding components into cpp_info so generators can employ it. Then CMake generator probably needs to produce a module which has support for
find_package(COMPONENTS)
and export libraries as a packages.However it's unclear how to introduce dependencies between components, say boost has "boost" as headers and then "boost_filesystem" just adds library and depends on "boost" to pull in headers.
Every generator on its own.
In other words allow tighter coupling between package and build system it uses. Then for CMake use nice
export()
commands to produce relocatable packages, so conan's job is to define<Package>_DIR
andfind_package(Package CONFIG ...)
will pull it in.Other pros of this approach:
find_package
looks for file to consume dependency directly from local build folder.The text was updated successfully, but these errors were encountered: