cmake: always enable GNU and recent-POSIX extensions, like autoconf does
authorSimon McVittie <simon.mcvittie@collabora.co.uk>
Wed, 27 Jul 2011 14:59:53 +0000 (15:59 +0100)
committerSimon McVittie <simon.mcvittie@collabora.co.uk>
Fri, 5 Aug 2011 13:17:51 +0000 (14:17 +0100)
commitc1bcd2269c590305cad42e000cd39fad49158e3e
treec5ba59ac7adcf414f6ea75e762459dc71028103a
parent2dfee7317cad8b189dea42e44f1082fb6d91bfe3
cmake: always enable GNU and recent-POSIX extensions, like autoconf does

If the C library is (e)glibc, this allows use of POSIX, BSD, SVID, GNU,
etc., extensions to ISO C, regardless of using -ansi or not.

Not doing this broke the cmake build on Linux since commit 18b08180,
which added AC_USE_SYSTEM_EXTENSIONS to configure.ac (and removed
_GNU_SOURCE from files that use it) without also updating the cmake
build system. SO_PEERCRED is defined unconditionally, but struct ucred
is considered to be a GNU extension, so can't be used under _GNU_SOURCE.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=29228
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
cmake/CMakeLists.txt