Help/policy/CMP0150.rst
.. versionadded:: 3.27
:command:ExternalProject_Add and :command:FetchContent_Declare commands
treat relative GIT_REPOSITORY paths as being relative to the parent
project's remote.
Earlier versions of these commands always treated relative paths in
GIT_REPOSITORY as local paths, but the base directory it was treated
as relative to was both undocumented and unintuitive. The OLD behavior
for this policy is to interpret relative paths used for GIT_REPOSITORY
as local paths relative to the following:
SOURCE_DIR for :command:ExternalProject_Add.FETCHCONTENT_BASE_DIR for :command:FetchContent_Declare.The NEW behavior is to determine the remote from the parent project and
interpret the path relative to that remote. The value of
:variable:CMAKE_CURRENT_SOURCE_DIR when :command:ExternalProject_Add or
:command:FetchContent_Declare is called determines the parent project.
The remote is selected according to the following (the first match is used):
origin, use
origin's remote but also issue a warning.If an appropriate remote cannot be determined from the above, a fatal error will be raised.
.. |INTRODUCED_IN_CMAKE_VERSION| replace:: 3.27 .. |WARNS_OR_DOES_NOT_WARN| replace:: warns when a relative path is encountered .. include:: include/STANDARD_ADVICE.rst
.. include:: include/DEPRECATED.rst