Fixed compiler warning on windows.
[platform/upstream/dbus.git] / cmake / CMakeLists.txt
index 9bf5923..aecc74c 100644 (file)
@@ -103,7 +103,7 @@ find_package(EXPAT)
 find_package(X11)
 
 # analogous to AC_USE_SYSTEM_EXTENSIONS in configure.ac
-add_definitions(-D_POSIX_C_SOURCE=199309L -D_GNU_SOURCE)
+add_definitions(-D_GNU_SOURCE)
 
 # do config checks
 INCLUDE(ConfigureChecks.cmake)
@@ -231,7 +231,9 @@ ENABLE_TESTING()
 option (DBUS_BUILD_TESTS "enable unit test code" ON)
  
 if(DBUS_BUILD_TESTS)
-    add_definitions(-DDBUS_BUILD_TESTS -DDBUS_ENABLE_EMBEDDED_TESTS)
+    set (DBUS_ENABLE_EMBEDDED_TESTS ON)
+    set (DBUS_ENABLE_MODULAR_TESTS ON)
+    add_definitions(-DDBUS_ENABLE_EMBEDDED_TESTS -DDBUS_ENABLE_MODULAR_TESTS)
 endif(DBUS_BUILD_TESTS)
 
 option (DBUS_USE_OUTPUT_DEBUG_STRING "enable win32 debug port for message output" OFF)
@@ -267,6 +269,27 @@ if(NOT MSVC)
     endif(DBUS_GCOV_ENABLED)
 endif(NOT MSVC)
 
+if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
+    option (DBUS_BUS_ENABLE_INOTIFY "build with inotify support (linux only)" ON)
+    if(DBUS_BUS_ENABLE_INOTIFY)
+        check_include_file(sys/inotify.h HAVE_SYS_INOTIFY_H)
+        if(NOT HAVE_SYS_INOTIFY_H)
+            message(FATAL_ERROR "sys/inotify.h not found!")
+        endif(NOT HAVE_SYS_INOTIFY_H)
+    endif(DBUS_BUS_ENABLE_INOTIFY)
+elseif("${CMAKE_SYSTEM_NAME}" MATCHES ".*BSD")
+    option (DBUS_BUS_ENABLE_KQUEUE "build with kqueue support (FreeBSD only)" ON)
+    if(DBUS_BUS_ENABLE_KQUEUE)
+        # cmake check a header by compiling a test program with
+        # the header, sys/event.h needs stdint.h and sys/types.h
+        # to work.
+        check_include_files("stdint.h;sys/types.h;sys/event.h" HAVE_SYS_EVENT_H)
+        if(NOT HAVE_SYS_EVENT_H)
+            message(FATAL_ERROR "sys/event.h not found!")
+        endif(NOT HAVE_SYS_EVENT_H)
+    endif(DBUS_BUS_ENABLE_KQUEUE)
+endif("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
+
 STRING(TOUPPER ${CMAKE_SYSTEM_NAME} sysname)
 if("${sysname}" MATCHES ".*SOLARIS.*")
     option (HAVE_CONSOLE_OWNER_FILE "enable console owner file (solaris only)" ON)
@@ -276,7 +299,7 @@ if("${sysname}" MATCHES ".*SOLARIS.*")
 endif("${sysname}" MATCHES ".*SOLARIS.*")
 
 if(NOT EXPAT_FOUND)
-    message(FATAL "expat not found!")
+    message(FATAL_ERROR "expat not found!")
 endif(NOT EXPAT_FOUND)
 
 SET(XML_LIB "Expat")
@@ -354,7 +377,7 @@ endif (MSVC_IDE)
          else (NOT $ENV{TMP} STREQUAL "")
          if (WIN32)
              #Should never happen, both TMP and TEMP seem always set on Windows
-             message(FATAL "Could not determine a usable temporary directory")
+             message(FATAL_ERROR "Could not determine a usable temporary directory")
          else(WIN32)
             set (DBUS_SESSION_SOCKET_DIR /tmp)
          endif(WIN32)
@@ -511,6 +534,8 @@ message("        Building w/o assertions:  ${DBUS_DISABLE_ASSERT}             ")
 message("        Building w/o checks:      ${DBUS_DISABLE_CHECKS}              ")
 message("        Building bus stats API:   ${DBUS_ENABLE_STATS}                ")
 message("        installing system libs:   ${DBUS_INSTALL_SYSTEM_LIBS}         ")
+message("        Building inotify support: ${DBUS_BUS_ENABLE_INOTIFY}          ")
+message("        Building kqueue support: ${DBUS_BUS_ENABLE_KQUEUE}            ")
 message("        Building Doxygen docs:    ${DBUS_ENABLE_DOXYGEN_DOCS}         ")
 message("        Building XML docs:        ${DBUS_ENABLE_XML_DOCS}             ")
 message("        Daemon executable name:   ${DBUS_DAEMON_NAME}")