Is there a hidden CMAKE variable for the input to a macro/function as a string, not a list, untouched, unadulterated?

Basically I would like to access the full, original, untouched input string to a macro or function, instead of accessing argv# or argn, etc.

The reason for this is that I’m implementing a project that aims to sweeten the syntax of CMake and implement new test features I think should be in CMake. This requires a fair bit of parsing work.

I keep finding that all the semi-colon list-breaking-up stuff that CMake does is getting in the way and I’m wondering if there’s a hidden variable for internal use that represents the raw input string to a macro or function before all that processing. Preferably, I want to see the original spaces (or at most trimmed and cleaned up spaces), etc. before those spaces get turned into semicolons and listified, etc.

Does anyone know if there is such a variable?

cmake_parse_arguments(PARSE_ARGV 0) can be used to parse arguments which understands empty list elements and the like. It’s the closest things that’s available unfortunately as raw CMake code doesn’t have any way to access the raw input information.

Sadly, this is just code that looks at ARGV#, which I’m already doing, but doesn’t really solve the problem. Thanks though. I’ve had to rethink my sweetened syntax to better handle spaces/semicolons and all that complications that come with that.