From 5fe95468a2434e9fbef9dac21fc21dc4fffd2f7f Mon Sep 17 00:00:00 2001 From: Sake Blok Date: Sun, 28 Oct 2007 23:49:15 +0000 Subject: [PATCH] Bug 1227 : From Frederic Heem: * modify CMakeInstallDirs.cmake according to cmake developper wishes * FindDBUSGLIB.cmake fixes * Add HAVE_CHOWN * remove DBus from CMakeLists.txt. * DBus support has its own application (capdbus) and is in a self contained directory. A separate patch will be provided svn path=/trunk/; revision=23300 --- CMakeLists.txt | 18 +++++------------- cmake/modules/CMakeInstallDirs.cmake | 15 ++++++++------- cmake/modules/FindDBUSGLIB.cmake | 18 ++++++++++-------- cmakeconfig.h.in | 3 +++ 4 files changed, 26 insertions(+), 28 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0f8299ce0b..918e03bd53 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,8 +56,6 @@ option(BUILD_TSHARK "Build tshark" ON) option(BUILD_DUMPCAP "Build dumpcap" ON) option(ENABLE_STATIC "Build a static version of Wireshark" OFF) option(ENABLE_ADNS "Build with adns support" ON) -option(ENABLE_DBUS "Build with D-Bus support" OFF) -option(ENABLE_DBUS_TEST "Build with D-Bus unitest support" OFF) option(ENABLE_EXTRA_GCC_CHECKS "Do additional -W checks in GCC" OFF) if(ENABLE_EXTRA_GCC_CHECKS) @@ -76,9 +74,8 @@ else(CMAKE_COMPILER_IS_GNUCC) add_definitions(-DHAVE_CONFIG_H -D_U_=\"\") endif(CMAKE_COMPILER_IS_GNUCC) -if(BUILD_WIRESHARK OR BUILD_TSHARK OR BUILD_DUMPCAP) - subdirs(wiretap) -endif(BUILD_WIRESHARK OR BUILD_TSHARK OR BUILD_DUMPCAP) + +subdirs(wiretap) #The minimum package list set(PACKAGELIST GLIB2 ZLIB PCAP ${PACKAGELIST}) @@ -94,13 +91,6 @@ if(ENABLE_ADNS) set(HAVE_GNU_ADNS 1) endif(ENABLE_ADNS) -#D-Bus -if(ENABLE_DBUS) - set(PACKAGELIST DBUS DBUSGLIB ${PACKAGELIST}) - subdirs(dbus) - set(dumpcap_LIBS ${dumpcap_LIBS} capdbus) -endif(ENABLE_DBUS) - #Let's loop the package list foreach(PACKAGE ${PACKAGELIST}) find_package(${PACKAGE} REQUIRED) @@ -114,6 +104,8 @@ foreach(PACKAGE ${PACKAGELIST}) endif (${PACKAGE}_FOUND) endforeach(PACKAGE) +#subdirs(dbus) + #packaging set(CPACK_PACKAGE_NAME wireshark) set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "capture packet") @@ -167,6 +159,7 @@ check_include_file("unistd.h" HAVE_UNISTD_H) #Functions include(CheckFunctionExists) +check_function_exists("chown" HAVE_CHOWN) check_function_exists("gethostbyname2" HAVE_GETHOSTBYNAME2) check_function_exists("getprotobynumber" HAVE_GETPROTOBYNUMBER) check_function_exists("iconv" HAVE_ICONV) @@ -248,4 +241,3 @@ if(BUILD_DUMPCAP) install(TARGETS dumpcap RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}) endif(BUILD_DUMPCAP) - diff --git a/cmake/modules/CMakeInstallDirs.cmake b/cmake/modules/CMakeInstallDirs.cmake index ed6cdeed32..19e2c85ed7 100644 --- a/cmake/modules/CMakeInstallDirs.cmake +++ b/cmake/modules/CMakeInstallDirs.cmake @@ -39,6 +39,7 @@ # CMAKE_INSTALL_DATADIR # CMAKE_INSTALL_SBINDIR +# CMAKE_INSTALL_DATADIR # CMAKE_INSTALL_SYSCONFDIR # CMAKE_INSTALL_LOCALSTATEDIR # CMAKE_INSTALL_LIBDIR @@ -60,19 +61,19 @@ IF(${CMAKE_INSTALL_PREFIX} STREQUAL "/usr") ENDIF(${CMAKE_INSTALL_PREFIX} STREQUAL "/usr") #General case -SET(CMAKE_INSTALL_BINDIR "${CMAKE_INSTALL_PREFIX}/bin" +SET(CMAKE_INSTALL_BINDIR "bin" CACHE PATH ${CMAKE_INSTALL_BINDIR_DOC}) -SET(CMAKE_INSTALL_SBINDIR "${CMAKE_INSTALL_PREFIX}/sbin" +SET(CMAKE_INSTALL_SBINDIR "sbin" CACHE PATH ${CMAKE_INSTALL_SBINDIR_DOC}) -SET(CMAKE_INSTALL_DATADIR "${CMAKE_INSTALL_PREFIX}/share" +SET(CMAKE_INSTALL_DATADIR "share" CACHE PATH ${CMAKE_INSTALL_DATADIR_DOC}) -SET(CMAKE_INSTALL_SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc" +SET(CMAKE_INSTALL_SYSCONFDIR "etc" CACHE PATH ${CMAKE_INSTALL_SYSCONFDIR_DOC}) -SET(CMAKE_INSTALL_LOCALSTATEDIR "${CMAKE_INSTALL_PREFIX}/var" +SET(CMAKE_INSTALL_LOCALSTATEDIR "var" CACHE PATH ${CMAKE_INSTALL_LOCALSTATEDIR_DOC}) -SET(CMAKE_INSTALL_LIBDIR "${CMAKE_INSTALL_PREFIX}/lib" +SET(CMAKE_INSTALL_LIBDIR "lib" CACHE PATH ${CMAKE_INSTALL_LIBDIR_DOC}) -SET(CMAKE_INSTALL_MANDIR "${CMAKE_INSTALL_PREFIX}/man" +SET(CMAKE_INSTALL_MANDIR "man" CACHE PATH ${CMAKE_INSTALL_MANDIR_DOC}) diff --git a/cmake/modules/FindDBUSGLIB.cmake b/cmake/modules/FindDBUSGLIB.cmake index 61b4a1485d..251bd291bc 100644 --- a/cmake/modules/FindDBUSGLIB.cmake +++ b/cmake/modules/FindDBUSGLIB.cmake @@ -38,20 +38,21 @@ # Written by Frederic Heem, frederic.heem _at_ telsey.it # This module defines -# DBUSGLIBGLIB_FOUND, true if dbus-glib-1 has been found -# DBUSGLIBGLIB_VERSION, the dbus-glib-1 version -# DBUSGLIBGLIB_INCLUDE_DIRS, where to find dbus/dbus-glib.h, etc. -# DBUSGLIBGLIB_LIBRARIES, library to link againt libdbus-glib-1 -# DBUSGLIBGLIB_DEFINITIONS, the definitions used to compile dbus-glib-1 +# DBUSGLIB_FOUND, true if dbus-glib-1 has been found +# DBUSGLIB_VERSION, the dbus-glib-1 version +# DBUSGLIB_INCLUDE_DIRS, where to find dbus/dbus-glib.h, etc. +# DBUSGLIB_LIBRARIES, library to link againt libdbus-glib-1 +# DBUSGLIB_DEFINITIONS, the definitions used to compile dbus-glib-1 +# DBUSGLIB_BINDING_TOOL_EXECUTABLE the glib dbus binding tool #D-Bus is required by dbus-glib-1 FIND_PACKAGE(DBUS REQUIRED) -#Keep space in of $ENV{PKG_CONFIG_PATH} is empty +#Keep space in case of $ENV{PKG_CONFIG_PATH} is empty SET(PKG_CONFIG_PATH " $ENV{PKG_CONFIG_PATH}") #Find the D-Bus package -PKGCONFIG_FOUND(dbus-1 ${PKG_CONFIG_PATH} DBUSGLIB_FOUND) +PKGCONFIG_FOUND(dbus-glib-1 ${PKG_CONFIG_PATH} DBUSGLIB_FOUND) IF(DBUSGLIB_FOUND) MESSAGE(STATUS "D-Bus glib found") @@ -92,7 +93,7 @@ FIND_LIBRARY(DBUSGLIB_LIBRARY ${DBUSGLIB_LIBRARY_DIR} DOC ${DBUSGLIB_LIB_PATH_DESCRIPTION} - NO_DEFAULT_PATH +#NO_DEFAULT_PATH TODO fix PKGCONFIG_LIBRARY_DIR when pkg-config returns multiple directories ) SET(DBUSGLIB_LIBRARIES ${DBUSGLIB_LIBRARY} ${DBUS_LIBRARIES}) @@ -115,6 +116,7 @@ MESSAGE(STATUS "D-Bus glib definitions are ${DBUSGLIB_DEFINITIONS}") FIND_PROGRAM(DBUSGLIB_BINDING_TOOL_EXECUTABLE NAMES dbus-binding-tool + /usr/local/bin ) MARK_AS_ADVANCED( diff --git a/cmakeconfig.h.in b/cmakeconfig.h.in index 52d9ee425b..463769ed78 100644 --- a/cmakeconfig.h.in +++ b/cmakeconfig.h.in @@ -24,6 +24,9 @@ /* Define to 1 if you have the header file. */ #cmakedefine HAVE_FCNTL_H 1 +/* Define to 1 if you have the `chown' function. */ +#cmakedefine HAVE_CHOWN 1 + /* Define to 1 if you have the `gethostbyname2' function. */ #cmakedefine HAVE_GETHOSTBYNAME2 1