I wrote some code that used the variable UNIX
I assumed UNIX would be set to false on non-UNIX platforms. Instead it was undefined (on Windows at least). Which caused an issue with a CMake function I wrote.
Why is it preferable to have the variable undefined instead of setting it to a value of 0, FALSE, OFF, etc?