CMAKE_CURRENT_FUNCTION_LIST_DIR
-------------------------------

.. versionadded:: 3.17

When executing code inside a :command:`function`, this variable
contains the full directory of the listfile that defined the current function.

It is quite common practice in CMake for modules to use some additional files,
such as templates to be copied in after substituting CMake variables.
In such cases, a function needs to know where to locate those files in a way
that doesn't depend on where the function is called.  Without
``CMAKE_CURRENT_FUNCTION_LIST_DIR``, the code to do that would typically use
the following pattern:

.. code-block:: cmake

  set(_THIS_MODULE_BASE_DIR "${CMAKE_CURRENT_LIST_DIR}")

  function(foo)
    configure_file(
      "${_THIS_MODULE_BASE_DIR}/some.template.in"
      some.output
    )
  endfunction()

Using ``CMAKE_CURRENT_FUNCTION_LIST_DIR`` inside the function instead
eliminates the need for the extra variable which would otherwise be visible
outside the function's scope.
The above example can be written in the more concise and more robust form:

.. code-block:: cmake

  function(foo)
    configure_file(
      "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/some.template.in"
      some.output
    )
  endfunction()

See also :variable:`CMAKE_CURRENT_FUNCTION`,
:variable:`CMAKE_CURRENT_FUNCTION_LIST_FILE` and
:variable:`CMAKE_CURRENT_FUNCTION_LIST_LINE`.
