From 5a6379f1fd1cddd702e4f44844d20ed8e01b85ed Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 26 Jan 2021 11:00:44 -0500 Subject: Help: Clarify meaning of CMAKE_SYSTEM_PROCESSOR On Windows the value may not match the compiler's target architecture. Update the documentation to state this explicitly. Issue: #15170 --- Help/variable/CMAKE_SYSTEM_PROCESSOR.rst | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Help/variable/CMAKE_SYSTEM_PROCESSOR.rst b/Help/variable/CMAKE_SYSTEM_PROCESSOR.rst index 8ad89f1..ce16215 100644 --- a/Help/variable/CMAKE_SYSTEM_PROCESSOR.rst +++ b/Help/variable/CMAKE_SYSTEM_PROCESSOR.rst @@ -1,8 +1,13 @@ CMAKE_SYSTEM_PROCESSOR ---------------------- -The name of the CPU CMake is building for. +When not cross-compiling, this variable has the same value as the +:variable:`CMAKE_HOST_SYSTEM_PROCESSOR` variable. In many cases, +this will correspond to the target architecture for the build, but +this is not guaranteed. (E.g. on Windows, the host may be ``AMD64`` +even when using a MSVC ``cl`` compiler with a 32-bit target.) -This variable is the same as :variable:`CMAKE_HOST_SYSTEM_PROCESSOR` if -you build for the host system instead of the target system when -cross compiling. +When cross-compiling, a :variable:`CMAKE_TOOLCHAIN_FILE` should set +the ``CMAKE_SYSTEM_PROCESSOR`` variable to match target architecture +that it specifies (via :variable:`CMAKE__COMPILER` and perhaps +:variable:`CMAKE__COMPILER_TARGET`). -- cgit v0.12