cmake doesn't compile with clang 18 due to deprecated macros in zutil.c and gzguts.h
This is fixed in zlib 1.3.1
In file included from /cmake-3.28.3/Utilities/cmzlib/zutil.c:10:
In file included from /cmake-3.28.3/Utilities/cmzlib/gzguts.h:21:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.4.sdk/usr/include/stdio.h:220:7: error: expected identifier or '('
220 | FILE *fdopen(int, const char *) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_2_0, __DARWIN_ALIAS(fdopen));
| ^
/cmake-3.28.3/Utilities/cmzlib/zutil.h:147:33: note: expanded from macro 'fdopen'
147 | # define fdopen(fd,mode) NULL /* No fdopen() */
| ^
/opt/llvm18/lib/clang/18/include/__stddef_null.h:26:16: note: expanded from macro 'NULL'
26 | #define NULL ((void*)0)
| ^