Boost logo

Boost :

Subject: Re: [boost] CMake Modularization
From: Peter Dimov (lists_at_[hidden])
Date: 2016-10-02 21:22:00

Paul Fultz II wrote:
> Instead a top-level cmake can bring the packages together, something like:
> # Whatever cmake modulues boost provide
> include(cmake/BoostModules.cmake)

Something like that, although BOOST_ALL does not strike me as quite correct
a name, I'd call that BOOST_IS_LOCAL. (It doesn't have to be all of Boost,
could be a subset.)

We'll probably also need


> # Include the libraries
> # Perhaps this could be globbed
> add_subdirectory(libs/fit)
> add_subdirectory(libs/hana)

It has to be globbed, for the same reason. Subsets should be supported.

> Then in the library, the cmake would do something like this:
> # We are building standalone
> # BoostModules must be installed first, before building standalone
> find_package(BoostModulues)
> endif()
> # Find the dependent boost libraries
> find_boost_lib(BOOST_LIBS asio hana)
> So now, when building standalone `find_boost_lib` will call `find_package`
> to retrieve the exported targets. If its building in-tree, then
> `find_boost_lib` will just find the target name, and let cmake resolve the
> target during build.

Yes, this could work for possibly-standalone libraries.

Boost list run by bdawes at, gregod at, cpdaniel at, john at