I have found a hacky way to get around the problem. That method is directly access the ARGN[1]
via
list(GET ARGN 1 ARGN1)
message("ARGN1 = ${ARGN1}")
set(vdlt_PATH ${ARGN1})
This obviously shouldn’t be necessary, but I can find no reason as to why cmake_parse_arguments
does not parse the arguments properly in this situation. The arguments are clearly there, but they are not processing almost as if cmake itself has a bug (which I highly doubt).