ProcessUNIX.c: fix select(), FD_SETSIZE on macOS
On macOS (reportedly for 10.5 and later), if _DARWIN_UNLIMITED_SELECT is
not defined, then the select() call in kwsysProcessWaitForPipe() fails
with EINVAL when (max + 1) > 1024. And, by default, FD_SETSIZE is 1024;
passing file descriptors not less than FD_SETSIZE to FD_CLR(), FD_SET(),
and FD_ISSET() causes out-of-bounds accesses, at least for an fd_set
allocated on the heap (as is the case for cp->PipeSet, allocated by
kwsysProcess_New(); one observed effect of this is corruption of the
Invalid argument error message copied from strerror(errno) into
cp->ErrorMessage, since cp->ErrorMessage is located shortly after
cp->PipeSet). Defining _DARWIN_UNLIMITED_SELECT and defining FD_SETSIZE
to OPEN_MAX (10240) avoids these issues.
Issue: cmake/cmake#23156 (closed)