This approach uses a sentinel environment variable to effectively force the users to use CMake Presets for configure and build steps.
This approach uses a small auxiliary CMake script as a PRE_BUILD step for a target to check a sentinel environment variable and fail the configure or build step if it is not set.
Tested with CMake generators: MinGW Makefiles, Ninja, Unix Makefiles, Visual Studio 17 2022
These non-preset command sequences all fail intentionally as they don't use presets:
cmake -Bbuild
# or
cmake --preset default
cmake --build build
These preset commands succeed
cmake --preset default
cmake --build --preset default