mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 05:40:54 -06:00
FetchContent: Protect ExternalProject keywords from unknown arguments
`ExternalProject_Add` treats all keyword arguments as multi-valued.
FetchContent re-orders some keyword arguments w.r.t. unparsed arguments.
Add an internal keyword argument to separate the keyword values from
following unparsed arguments.
This was exposed by commit 550f63447d (ExternalProject/FetchContent:
Support relative remote URLs, 2023-04-21, v3.27.0-rc1~156^2) by adding
`GIT_REPOSITORY` to the set of re-ordered keyword arguments. This
caused its value to absorb following unparsed arguments.
Fixes: #25029
This commit is contained in:
@@ -4266,6 +4266,10 @@ function(ExternalProject_Add name)
|
||||
# Miscellaneous options
|
||||
#
|
||||
LIST_SEPARATOR
|
||||
#
|
||||
# Internal options (undocumented)
|
||||
#
|
||||
EXTERNALPROJECT_INTERNAL_ARGUMENT_SEPARATOR
|
||||
)
|
||||
_ep_parse_arguments(
|
||||
ExternalProject_Add
|
||||
|
||||
Reference in New Issue
Block a user