CMake's cross-compilation variables for the toolchain generator project

My CMake project generates the toolchain (tooling, libraries etc, including the toolchain file), for the downstream CMake projects.

Some of my dependencies are CMake projects, others use 3rd party systems. At this moment the project itself does not have targets other than ExternalProjects and for moving files. But it may have some in the future.

It’s not clear to me whether I should set CMake variables that are related to cross-compilation such as CMAKE_SYSTEM_* and CMAKE_OSX_*. Currently I use custom user-settable cache variables for SDK etc, but I’m somewhat conflicted whether I’m expected to FORCE set the aforementioned variables based on these values.

What would you suggest?