Browse Source

Help: Improve CMAKE_SYSTEM_{NAME,VERSION} variable documentation

Specify their meaning for host builds and when cross compiling.
Sepcify their relationship in each case.
Brad King 10 years ago
parent
commit
7068860941
2 changed files with 33 additions and 8 deletions
  1. 16 4
      Help/variable/CMAKE_SYSTEM_NAME.rst
  2. 17 4
      Help/variable/CMAKE_SYSTEM_VERSION.rst

+ 16 - 4
Help/variable/CMAKE_SYSTEM_NAME.rst

@@ -1,8 +1,20 @@
 CMAKE_SYSTEM_NAME
 -----------------
 
-Name of the operating system CMake is building for.
+The name of the operating system for which CMake is to build.
+See the :variable:`CMAKE_SYSTEM_VERSION` variable for the OS version.
 
-This is the name of the operating system on which CMake is targeting.  This
-variable is the same as :variable:`CMAKE_HOST_SYSTEM_NAME` if you build for the
-host system instead of the target system when cross compiling.
+System Name for Host Builds
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+``CMAKE_SYSTEM_NAME`` is by default set to the same value as the
+:variable:`CMAKE_HOST_SYSTEM_NAME` variable so that the build
+targets the host system.
+
+System Name for Cross Compiling
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+``CMAKE_SYSTEM_NAME`` may be set explicitly when first configuring a new build
+tree in order to enable :ref:`cross compiling <Cross Compiling Toolchain>`.
+In this case the :variable:`CMAKE_SYSTEM_VERSION` variable must also be
+set explicitly.

+ 17 - 4
Help/variable/CMAKE_SYSTEM_VERSION.rst

@@ -1,8 +1,21 @@
 CMAKE_SYSTEM_VERSION
 --------------------
 
-The operating system version CMake is building for.
+The version of the operating system for which CMake is to build.
+See the :variable:`CMAKE_SYSTEM_NAME` variable for the OS name.
 
-This variable is the same as :variable:`CMAKE_HOST_SYSTEM_VERSION` if
-you build for the host system instead of the target system when
-cross compiling.
+System Version for Host Builds
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+When the :variable:`CMAKE_SYSTEM_NAME` variable takes its default value
+then ``CMAKE_SYSTEM_VERSION`` is by default set to the same value as the
+:variable:`CMAKE_HOST_SYSTEM_VERSION` variable so that the build targets
+the host system version.
+
+System Version for Cross Compiling
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+When the :variable:`CMAKE_SYSTEM_NAME` variable is set explicitly to
+enable :ref:`cross compiling <Cross Compiling Toolchain>` then the
+value of ``CMAKE_SYSTEM_VERSION`` must also be set explicitly to specify
+the target system version.