diff options
Diffstat (limited to 'share/cmake-3.18/Help/variable/CMAKE_CROSSCOMPILING.rst')
-rw-r--r-- | share/cmake-3.18/Help/variable/CMAKE_CROSSCOMPILING.rst | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/share/cmake-3.18/Help/variable/CMAKE_CROSSCOMPILING.rst b/share/cmake-3.18/Help/variable/CMAKE_CROSSCOMPILING.rst new file mode 100644 index 0000000..7e6ec33 --- /dev/null +++ b/share/cmake-3.18/Help/variable/CMAKE_CROSSCOMPILING.rst @@ -0,0 +1,27 @@ +CMAKE_CROSSCOMPILING +-------------------- + +Intended to indicate whether CMake is cross compiling, but note limitations +discussed below. + +This variable will be set to true by CMake if the :variable:`CMAKE_SYSTEM_NAME` +variable has been set manually (i.e. in a toolchain file or as a cache entry +from the :manual:`cmake <cmake(1)>` command line). In most cases, manually +setting :variable:`CMAKE_SYSTEM_NAME` will only be done when cross compiling, +since it will otherwise be given the same value as +:variable:`CMAKE_HOST_SYSTEM_NAME` if not manually set, which is correct for +the non-cross-compiling case. In the event that :variable:`CMAKE_SYSTEM_NAME` +is manually set to the same value as :variable:`CMAKE_HOST_SYSTEM_NAME`, then +``CMAKE_CROSSCOMPILING`` will still be set to true. + +Another case to be aware of is that builds targeting Apple platforms other than +macOS are handled differently to other cross compiling scenarios. Rather than +relying on :variable:`CMAKE_SYSTEM_NAME` to select the target platform, Apple +device builds use :variable:`CMAKE_OSX_SYSROOT` to select the appropriate SDK, +which indirectly determines the target platform. Furthermore, when using the +:generator:`Xcode` generator, developers can switch between device and +simulator builds at build time rather than having a single +choice at configure time, so the concept +of whether the build is cross compiling or not is more complex. Therefore, the +use of ``CMAKE_CROSSCOMPILING`` is not recommended for projects targeting Apple +devices. |