# Supporting local customization -- preset or include?

**URL:** <https://discourse.cmake.org/t/supporting-local-customization-preset-or-include/13355>\
**Category:** Code\
**Created:** [January 8, 2025, 3:53pm UTC](https://discourse.cmake.org/t/supporting-local-customization-preset-or-include/13355 "2025-01-08T15:53:38Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![rsalz](https://discourse.cmake.org/user_avatar/discourse.cmake.org/rsalz/32/5179_2.png) [@rsalz](https://discourse.cmake.org/u/rsalz)\
**Post date:** [January 8, 2025, 3:53pm UTC](https://discourse.cmake.org/t/supporting-local-customization-preset-or-include/13355/1 "2025-01-08T15:53:38Z")

</div>

I’m converting an OpenSSL fork ([GitHub - quictls/quictls: The official repository for the QuicTLS project.](http://github.com/quictls/quictls)) 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.
