What's the history behind choosing -D to pass cache variables on the command line

I was wondering if anyone knew why was -D chosen as the option used to pass cache variable on the command line.
Was it simply because -D is used by compiler frontends to pass preprocessor definitions, and that sort of maps to variables in CMake, which are close enough in meaning?
Or was it an arbitrary decision?

1 Like

Well, I don’t “know” but quite naturally it comes from “Define”.

I guess if the meaning is obvious depends on how you look at the “action” it’s performing. If you say “passing cache variables”, “D” may seem weird. It makes sense if you say “define variables”, though.


1 Like