Browse Source

Help: Discourage using CMAKE_SOURCE_DIR in toolchain files

Fixes: #19390
Oleg Chernovskiy 6 years ago
parent
commit
16434fe303
1 changed files with 8 additions and 0 deletions
  1. 8 0
      Help/manual/cmake-toolchains.7.rst

+ 8 - 0
Help/manual/cmake-toolchains.7.rst

@@ -101,6 +101,14 @@ values for the compilers.
 The :variable:`CMAKE_CROSSCOMPILING` variable is set to true when CMake is
 cross-compiling.
 
+Note that using the :variable:`CMAKE_SOURCE_DIR` or :variable:`CMAKE_BINARY_DIR`
+variables inside a toolchain file is typically undesirable.  The toolchain
+file is used in contexts where these variables have different values when used
+in different places (e.g. as part of a call to :command:`try_compile`).  In most
+cases, where there is a need to evaluate paths inside a toolchain file, the more
+appropriate variable to use would be :variable:`CMAKE_CURRENT_LIST_DIR`, since
+it always has an unambiguous, predictable value.
+
 Cross Compiling for Linux
 -------------------------