Boost logo

Boost :

Subject: Re: [boost] Boost CMake support - Request for Comment
From: Alexander Grund (alexander.grund_at_[hidden])
Date: 2018-10-16 07:34:24


> For Predef
> <https://github.com/boostorg/predef/tree/develop/tools/check> with
> documentation for usage here
> <https://www.boost.org/doc/libs/1_68_0/doc/html/predef/check_utilities.html>.
>
> For Config <https://github.com/boostorg/config/tree/develop/checks>
> and documentation for that here
> <https://www.boost.org/doc/libs/1_68_0/libs/config/doc/html/boost_config/build_config.html>.
Thanks. Seeing this I approximate the work required to convert the
checks of Config to ~1h, maybe 2h. Usage would be:
 Â  include(BoostConfigFeatures)
 Â  if(BOOST_FEATURE_cxx11_local_class_template_parameters)
 Â Â Â  add_executable(...)
 Â  endif()

Some bike-shedding required:
- Name for the CMake file that contains this
- Naming scheme for the results of the checks (the variable in the "if")
- Eagerly test all or on demand:
 Â  boost_config_has(RESULT cxx11_local_class_template_parameters)
 Â  if(RESULT) add_executable(...) endif()

Similar for predef:
 Â  include(BoostPredefCheck)
 Â  boost_predef_check(RESULT "BOOST_OS_WINDOWS != 0" "BOOST_OS_VMS != 0")
 Â  if(RESULT) add_executable(...) endif()

Work is about the same and yes some checks can be omitted (e.g.
boost_predef_check(RESULT "BOOST_OS_WINDOWS != 0") --> RESULT==WIN32
standard CMake variable)




Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk