On 9/27/2016 11:04 AM, Philip Woods wrote:
CMake is a widely used build system and has become for many the de facto standard. Boost is a widely used collection of modules and has become for many part of the de facto standard. However, the two do not play very well together. I know there is another port of boost to CMake, but it has lain dormant for years and uses an old version of boost; plus I chose to take a different route. The old project attempted to completely replace Boost.Build with CMake. My example port simply allows people to more easily use boost modules in their projects.
It is always beneficial to give a detail account of what you are actually doing. Otherwise your chances of interesting people in what you have done will be less than it could be despite the examples you have given below.
I created an example project https://github.com/Elzair/cmake-boost-filesystem-test to demonstrate my ideas. I added CMake build support to the minimum number of modules needed to support this demo: https://github.com/Elzair/assert https://github.com/Elzair/config https://github.com/Elzair/core https://github.com/Elzair/filesystem/tree/master and https://github.com/Elzair/system
I even added CMake build support to the header only boost libraries. I did this for two reasons. First, I did not want users to have to fool with CMake's find_package(). Second, I wanted to add helpful error messages in case a user has not included all of a module's dependencies (or added them in the wrong order).
Would the community be interested in modular CMake support for more modules? Any comments, questions, critiques or suggestions are welcome.