cmake can match strings but C/C++ preprocessor directives cannot trivially do the same. cmake accepts with/enable with ON/OFF, TRUE/FALSE (and so on) as well as 1/0, so if we switch to the latter, we can simplify patches that re-use the cmake directives as preprocessor directives.
Could you please show a sample of where this will help?