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/buil.... 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)