Bläddra i källkod

Help: Correct CUDAHOSTCXX and CUDAARCHS as having higher precedence

For CUDAHOSTCXX the behaviour seems to have been like this since the
introduction of it in commit 9cf5b98d ("CUDA: Prefer environment variables
CUDACXX and CUDAHOSTCXX.", 2016-11-08) and is likely unintentional judging by
the wording of the commit.

The documentation mistake seems to be a copy-paste error from when all the
environment variables were documented in commit e6b77c5f ("Help: Document
CMake's environment variables", 2017-09-01).
Describe this explicitly as it is unlike all other similar environment
variables.

For CUDAARCHS we got it wrong from the get-go in commit c4ae9384 ("CUDA:
Initialize CMAKE_CUDA_ARCHITECTURES using $ENV{CUDAARCHS}", 2020-11-24).

Correcting either to follow the more standard precedence behaviour will require
a policy.

Fixes #23081.
Raul Tambre 4 år sedan
förälder
incheckning
ad6cd1074b
2 ändrade filer med 3 tillägg och 5 borttagningar
  1. 1 2
      Help/envvar/CUDAARCHS.rst
  2. 2 3
      Help/envvar/CUDAHOSTCXX.rst

+ 1 - 2
Help/envvar/CUDAARCHS.rst

@@ -6,8 +6,7 @@ CUDAARCHS
 .. include:: ENV_VAR.txt
 
 Value used to initialize :variable:`CMAKE_CUDA_ARCHITECTURES` on the first
-configuration if it's not already defined. Subsequent runs will use the value
-stored in the cache.
+configuration. Subsequent runs will use the value stored in the cache.
 
 This is a semicolon-separated list of architectures as described in
 :prop_tgt:`CUDA_ARCHITECTURES`.

+ 2 - 3
Help/envvar/CUDAHOSTCXX.rst

@@ -8,9 +8,8 @@ CUDAHOSTCXX
 Preferred executable for compiling host code when compiling ``CUDA``
 language files. Will only be used by CMake on the first configuration to
 determine ``CUDA`` host compiler, after which the value for ``CUDAHOSTCXX`` is
-stored in the cache as :variable:`CMAKE_CUDA_HOST_COMPILER`. For any
-configuration run (including the first), the environment variable will be
-ignored if the :variable:`CMAKE_CUDA_HOST_COMPILER` variable is defined.
+stored in the cache as :variable:`CMAKE_CUDA_HOST_COMPILER`. This environment
+variable is preferred over :variable:`CMAKE_CUDA_HOST_COMPILER`.
 
 This environment variable is primarily meant for use with projects that
 enable ``CUDA`` as a first-class language.