cmake_parse_arguments: UNPARSED_ARGUMENTS does not preserve empty arguments
Issue
cmake_parse_arguments
consumes empty arguments in list of UNPARSED_ARGUMENTS
e.g. GIT_SUBMODULES;;
becomes GIT_SUBMODULES
To clarify the issue in real-world usage, GIT_SUBMODULES
key may be given an empty-value
, but this will not be populated into UNPARSED_ARGUMENTS
. This is used to pass on unknown options to further functions etc.
Reproducer
This was observed using 3.25.2
cmake_parse_arguments(ARGS "" "" "" "FOO;;BAR;1;BAZ;;DOG;True")
message("${ARGS_UNPARSED_ARGUMENTS}")
Output | |
---|---|
Expected | FOO;;BAR;1;BAZ;;DOG;True |
Actual | FOO;BAR;1;BAZ;DOG;True |
Edited by Craig Hutchinson