Supporting local customization -- preset or include?

I’m converting an OpenSSL fork (GitHub - quictls/quictls: The official repository for the QuicTLS project.) to cmake. There are currently 120 variables controlling the build. Is there any advice on when to use a preset file, compared to something like this:
if ( DEFINED ENV{LOCAL_BUILD_SETTINGS} )
include($ENV{LOCAL_BUILD_SETTINGS} RESULT_VARIABLE LOCAL_INC)
message(“Read ${LOCAL_INC}”)
endif ()

Based on previous experience, most folks will have only a few settings to change from the defaults.

We’re currently targeting version 3.1, if we need to change, that’s probably okay.