From: Simon McVittie Date: Wed, 27 Jul 2011 14:59:53 +0000 (+0100) Subject: cmake: always enable GNU and recent-POSIX extensions, like autoconf does X-Git-Tag: dbus-1.4.16~44 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c1bcd2269c590305cad42e000cd39fad49158e3e;p=platform%2Fupstream%2Fdbus.git 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 --- diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 04f318a..750e3f1 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -100,6 +100,9 @@ OPTION(DBUS_DISABLE_ASSERTS "Disable assertion checking" OFF) option (DBUS_ENABLE_STATS "enable bus daemon usage statistics" OFF) +# analogous to AC_USE_SYSTEM_EXTENSIONS in configure.ac +add_definitions(-D_POSIX_C_SOURCE=199309L -D_GNU_SOURCE) + # do config checks INCLUDE(ConfigureChecks.cmake)