On 6/17/17 11:42 AM, P F via Boost wrote:
Hmmm - I would be curious if a CMake enthusiast took a look at the Safe Numerics repo and commented on the CMake files listed there. I think its pretty simple and canonical usage of CMake as it relates to a Boost library. The only think I want to change is the existence of some code in a CMake directory which I'll soon eliminate - but all in all it's pretty simple. What would be missing from this for it it to meet expectations of CMake Promotors?
* It should not use global `include_directories`.
* Its not necessary to put CMakeLists.txt in every directory with modern cmake.
* There is no installation, and there is no support for `find_package(SafeNumerics)` which can provide a cmake target for downstream user to use. Nor does it provide a cmake target for people to use with `add_subdirectory` either.
* Tests are always built even when the user sets `BUILD_TESTING` to off.
Boost.Hana is much better example of modern cmake.
Thanks for looking at this - the comments above really make me see that even having spend a lot of time trying to figure out CMake - there is still a lot I don't know. I have questions on each point above, but they are not relevant to this thread so I'll move on. I also looked at Hana usage of CMake. I have to say it's quite off-putting for a library author to be required to learn a huge amount of CMake lore and prepare 500 lines of script across several files just to submit a header only library which. * only needs to run tests * users need only point to the header library. Actually, this example makes bjam look much easier than CMake which I believe conflicts with the original premise which motivated the proposal. Robert Ramey