Any way to choose path of CMakePresets.json?

New to cmake preset

according to cmake doc

–preset <preset>, --preset=<preset>
Reads a preset from <path-to-source>/CMakePresets.json and <path-to-source>/CMakeUserPresets.json.
The preset may specify the generator and the build directory, and a list of variables and other arguments to pass to CMake.
The current working directory must contain CMake preset files.
The CMake GUI can also recognize CMakePresets.json and CMakeUserPresets.json files.

CMake assumes CMakePresets.json is in <path-to-source>

Anyway to put CMakePresets.json in alternative directory,
while, if possible, keep CMAKE_SOURCE_DIR unchanged?

No, CMakePresets.json must be at the top level of your source tree (i.e. the same directory as your top level CMakeLists.txt file).