Parts of http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1179
authorJörg Mayer <jmayer@loplof.de>
Tue, 24 Oct 2006 17:39:32 +0000 (17:39 -0000)
committerJörg Mayer <jmayer@loplof.de>
Tue, 24 Oct 2006 17:39:32 +0000 (17:39 -0000)
Frederic Heem:
* More cmake system checks. It compiles dumpcap without running configure,

svn path=/trunk/; revision=19672

15 files changed:
CMakeLists.txt
cmake/modules/Check64BitFormat.c.in [new file with mode: 0644]
cmake/modules/Check64BitFormat.cmake [new file with mode: 0644]
cmake/modules/FindADNS.cmake [new file with mode: 0644]
cmake/modules/FindDBUS.cmake [new file with mode: 0644]
cmake/modules/FindDBUSGLIB.cmake [new file with mode: 0644]
cmake/modules/FindGCRYPT.cmake [new file with mode: 0644]
cmake/modules/FindGLIB2.cmake
cmake/modules/FindGTK2.cmake
cmake/modules/FindLEX.cmake
cmake/modules/FindPCAP.cmake
cmake/modules/FindQt4.cmake [new file with mode: 0644]
cmake/modules/UsePkgConfig.cmake [new file with mode: 0644]
cmakeconfig.h.in
wiretap/CMakeLists.txt

index a3d5e6d85fc9667eb63ba73fb7d7674e87f9a0cb..beba685be48206e9c1e5571eb0e9697c661f8a36 100644 (file)
@@ -25,91 +25,204 @@ project(wireshark C)
 
 set(dumpcap_LIBS wiretap)
 
+# Under linux the release mode (CMAKE_BUILD_TYPE=release) defines NDEBUG
+
 # Disable this later. Alternative: "make VERBOSE=1"
 set(CMAKE_VERBOSE_MAKEFILE ON)
 
 set(BUILD_SHARED_LIBS ON)
 set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
 
-set(dumpcap_PLATFORM_SRC
-       capture-pcap-util-unix.c
-)
-
-set(dumpcap_FILES
-        capture_opts.c
-        capture_loop.c
-        capture-pcap-util.c
-        capture_stop_conditions.c
-        clopts_common.c
-        conditions.c
-        dumpcap.c
-        pcapio.c
-        ringbuffer.c
-        sync_pipe_write.c
-        tempfile.c
-        version_info.c
-
-       ${dumpcap_PLATFORM_SRC}
-)
-
-include_directories(${CMAKE_BINARY_DIR}
-       ${CMAKE_SOURCE_DIR}
-       ${CMAKE_SOURCE_DIR}/wiretap)
+include_directories(${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/wiretap)
 
 add_definitions(-DHAVE_CONFIG_H -D_U_=\"__attribute__\(\(unused\)\)\")
 
-link_directories(wiretap)
-
-add_executable(dumpcap ${dumpcap_FILES})
-
-option(BUILD_WITH_GLIB2 "Build using gtk2/glib2 instead of gtk/glib" ON)
-option(BUILD_WIRESHARK  "Build the GUI version of Wireshark" ON)
-option(ENABLE_STATIC   "Build a static version of Wireshark" OFF)
-
-if (BUILD_WITH_GLIB2)
-       if (BUILD_WIRESHARK)
-               find_package(GTK2 REQUIRED)
-               if (GTK2_FOUND)
-                       message(GTK2_FOUND)
-                       include_directories(${GTK2_INCLUDE_DIR})
-                       # set(dumpcap_LIBS ${dumpcap_LIBS} ${GTK2_LIBRARIES})
-               endif (GTK2_FOUND)
-       endif (BUILD_WIRESHARK)
-       find_package(GLIB2 REQUIRED)
-       if (GLIB2_FOUND)
-               message(GLIB2_FOUND)
-               include_directories(${GLIB2_INCLUDE_DIR})
-               set(dumpcap_LIBS ${dumpcap_LIBS} ${GLIB2_glib_LIBRARY})
-       endif (GLIB2_FOUND)
-else (BUILD_WITH_GLIB2)
-       if (BUILD_WIRESHARK)
-               find_package(GTK REQUIRED)
-               if (GTK_FOUND)
-                       message(GTK_FOUND)
-                       include_directories(${GTK_INCLUDE_DIR})
-                       # set(dumpcap_LIBS ${dumpcap_LIBS} ${GTK_LIBRARIES})
-               endif (GTK_FOUND)
-       endif (BUILD_WIRESHARK)
-       find_package(GLIB REQUIRED)
-       if (GLIB_FOUND)
-               message(GLIB_FOUND)
-               include_directories(${GLIB_INCLUDE_DIR})
-               set(dumpcap_LIBS ${dumpcap_LIBS} ${GLIB_glib_LIBRARIES})
-       endif (GLIB_FOUND)
-endif (BUILD_WITH_GLIB2)
-
-set(PACKAGELIST ZLIB PCAP)
-
+#Where to put libraries
+if(NOT LIBRARY_OUTPUT_PATH)
+  set(LIBRARY_OUTPUT_PATH ${wireshark_BINARY_DIR}/lib CACHE INTERNAL
+       "Single output directory for building all libraries.")
+endif(NOT LIBRARY_OUTPUT_PATH)
+
+option(BUILD_WIRESHARK   "Build the GUI version of Wireshark" ON)
+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)
+
+if(BUILD_WIRESHARK OR BUILD_TSHARK)
+  subdirs(wiretap)
+endif(BUILD_WIRESHARK OR BUILD_TSHARK)
+
+#The minimum package list
+set(PACKAGELIST GLIB2 ZLIB PCAP ${PACKAGELIST})
+
+#build the gui ?
+if(BUILD_WIRESHARK)
+  set(PACKAGELIST GTK2 ${PACKAGELIST})
+endif(BUILD_WIRESHARK)
+
+#Gnu asynchronous dns
+if(ENABLE_ADNS)
+  set(PACKAGELIST ADNS ${PACKAGELIST})
+  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})
-       message(${PACKAGE}_FOUND)
-       if (${PACKAGE}_FOUND)
-               include_directories(${${PACKAGE}_INCLUDE_DIR})
-               set(dumpcap_LIBS ${dumpcap_LIBS} ${${PACKAGE}_LIBRARIES})
-       endif (${PACKAGE}_FOUND)
+  find_package(${PACKAGE} REQUIRED)
+  message(${PACKAGE}_FOUND)
+  if (${PACKAGE}_FOUND)
+    set(HAVE_LIB${PACKAGE} "1")
+    include_directories(${${PACKAGE}_INCLUDE_DIRS})
+    message(STATUS "${PACKAGE} include ${${PACKAGE}_INCLUDE_DIRS}")
+    set(dumpcap_LIBS ${dumpcap_LIBS} ${${PACKAGE}_LIBRARIES})
+    message(STATUS "${PACKAGE} lib ${${PACKAGE}_LIBRARIES}")
+  endif (${PACKAGE}_FOUND)
 endforeach(PACKAGE)
 
+#packaging
+set(CPACK_PACKAGE_NAME wireshark)
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "capture packet")
+set(CPACK_PACKAGE_VENDOR "wireshark")
+set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
+#set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
+set(CPACK_PACKAGE_VERSION_MAJOR "0")
+set(CPACK_PACKAGE_VERSION_MINOR "94")
+set(CPACK_PACKAGE_VERSION_PATCH "0")
+set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
+
+set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}")
+set(CPACK_PACKAGE_INSTALL_DIRECTORY "/usr")
+set(CPACK_GENERATOR "TGZ")
+set(CPACK_SOURCE_GENERATOR "TGZ")
+
+#check system for includes
+include(CheckIncludeFile)
+check_include_file("arpa/inet.h"         HAVE_ARPA_INET_H)
+check_include_file("arpa/nameser.h"      HAVE_ARPA_NAMESER_H)
+check_include_file("direct.h"            HAVE_DIRECT_H)
+check_include_file("dirent.h"            HAVE_DIRENT_H)
+check_include_file("dlfcn.h"             HAVE_DLFCN_H)
+check_include_file("fcntl.h"             HAVE_FCNTL_H)
+check_include_file("getopt.h"            NEED_GETOPT_H)
+check_include_file("g_ascii_strtoull.h"  NEED_G_ASCII_STRTOULL_H)
+check_include_file("inet/aton.h"         NEED_INET_ATON_H)
+check_include_file("inttypes.h"          HAVE_INTTYPES_H)
+check_include_file("lauxlib.h"           HAVE_LAUXLIB_H)
+check_include_file("memory.h"            HAVE_MEMORY_H)
+check_include_file("netinet/in.h"        HAVE_NETINET_IN_H)
+check_include_file("netdb.h"             HAVE_NETDB_H)
+check_include_file("portaudio.h"         HAVE_PORTAUDIO_H)
+check_include_file("stdarg.h"            HAVE_STDARG_H)
+check_include_file("stddef.h"            HAVE_STDDEF_H)
+check_include_file("stdint.h"            HAVE_STDINT_H)
+check_include_file("stdlib.h"            HAVE_STDLIB_H)
+check_include_file("strerror.h"          NEED_STRERROR_H)
+check_include_file("strings.h"           HAVE_STRINGS_H)
+check_include_file("string.h"            HAVE_STRING_H)
+check_include_file("sys/ioctl.h"         HAVE_SYS_IOCTL_H)
+check_include_file("sys/param.h"         HAVE_SYS_PARAM_H)
+check_include_file("sys/socket.h"        HAVE_SYS_SOCKET_H)
+check_include_file("sys/sockio.h"        HAVE_SYS_SOCKIO_H)
+check_include_file("sys/stat.h"          HAVE_SYS_STAT_H)
+check_include_file("sys/time.h"          HAVE_SYS_TIME_H)
+check_include_file("sys/types.h"         HAVE_SYS_TYPES_H)
+check_include_file("sys/utsname.h"       HAVE_SYS_UTSNAME_H)
+check_include_file("sys/wait.h"          HAVE_SYS_WAIT_H)
+check_include_file("unistd.h"            HAVE_UNISTD_H)
+
+#Functions
+include(CheckFunctionExists)
+check_function_exists("gethostbyname2"   HAVE_GETHOSTBYNAME2)
+check_function_exists("getprotobynumber" HAVE_GETPROTOBYNUMBER)
+check_function_exists("iconv"            HAVE_ICONV)
+check_function_exists("inet_ntop"        HAVE_INET_NTOP_PROTO)
+check_function_exists("issetugid"        HAVE_ISSETUGID) 
+check_function_exists("mmap"             HAVE_MMAP)
+check_function_exists("mprotect"         HAVE_MPROTECT)
+check_function_exists("sysconf"          HAVE_SYSCONF)
+
+#Big or little endian ?
+include(TestBigEndian)
+test_big_endian(WORDS_BIGENDIAN)
+
+set(DATAFILE_DIR "${CMAKE_INSTALL_PREFIX}/share/${CPACK_PACKAGE_NAME}")
+
+#64 Bit format
+include(Check64BitFormat)
+
+check_64bit_format(ll FORMAT_64BIT)
+check_64bit_format(L FORMAT_64BIT)
+check_64bit_format(q FORMAT_64BIT)
+check_64bit_format(I64 FORMAT_64BIT)
+
+if(NOT FORMAT_64BIT)
+  message(FATAL " 64 bit formart missing")
+endif(NOT FORMAT_64BIT)
+
+set(PRIX64 "${FORMAT_64BIT}X")
+set(PRIx64 "${FORMAT_64BIT}x")
+set(PRId64 "${FORMAT_64BIT}d")
+set(PRIo64 "${FORMAT_64BIT}o")
+set(PRIu64 "${FORMAT_64BIT}u")
+
+#Platform specific
+if(UNIX)
+  set(WS_VAR_IMPORT "extern")
+endif(UNIX)
+
+if(APPLE)
+#TODO verify that APPLE implies HAVE_OS_X_FRAMEWORKS
+  set(HAVE_OS_X_FRAMEWORKS 1)
+endif(APPLE)
+
+if(WIN32)
+  add_definitions(-DHAVE_WIN32_LIBWIRESHARK_LIB -D_NEED_VAR_IMPORT_)
+  set(WS_VAR_IMPORT "__declspec(dllimport) extern")
+endif(WIN32)
+
+
 configure_file(${CMAKE_SOURCE_DIR}/cmakeconfig.h.in ${CMAKE_BINARY_DIR}/config.h)
 
-target_link_libraries(dumpcap ${dumpcap_LIBS})
+link_directories(wiretap)
+
+
+if(BUILD_DUMPCAP)
+
+  set(DUMPCAP_PLATFORM_SRC 
+      capture-pcap-util-unix.c
+  )
+
+  set(DUMPCAP_FILES
+          capture_opts.c
+          capture_loop.c
+          capture-pcap-util.c
+          capture_stop_conditions.c
+          clopts_common.c
+          conditions.c
+          dumpcap.c
+          pcapio.c
+          ringbuffer.c
+          sync_pipe_write.c
+          tempfile.c
+          version_info.c
+          ${DUMPCAP_PLATFORM_SRC}
+  )
+
+  add_executable(dumpcap ${DUMPCAP_FILES})
+  target_link_libraries(dumpcap ${dumpcap_LIBS})
+  install(TARGETS dumpcap RUNTIME DESTINATION bin)
+
+endif(BUILD_DUMPCAP)
+
+
 
diff --git a/cmake/modules/Check64BitFormat.c.in b/cmake/modules/Check64BitFormat.c.in
new file mode 100644 (file)
index 0000000..1175e9b
--- /dev/null
@@ -0,0 +1,12 @@
+#include <stdio.h>
+#define LENGTH 16
+int main(int ac, char*av[]){
+  unsigned long long t = 1;
+  char strbuf[LENGTH+1] = {0};
+  sprintf(strbuf, "%016@FORMAT@x", t << 32);
+  if (strcmp(strbuf, "0000000100000000") == 0){
+    exit(0);
+  } else {
+    exit(1);
+  }
+}
diff --git a/cmake/modules/Check64BitFormat.cmake b/cmake/modules/Check64BitFormat.cmake
new file mode 100644 (file)
index 0000000..4f8c843
--- /dev/null
@@ -0,0 +1,55 @@
+# - Check if the function exists.
+# CHECK_64BIT_FORMAT(FORMAT VARIABLE)
+# - macro which checks if the function exists
+#  FORMAT - the format, e.g ll, L, q or I64
+#  VARIABLE - variable to store the format if it is a valdid format
+#
+# Example of use in a CMakeLists.txt
+#
+# include(Check64BitFormat)
+# 
+# check_64bit_format(ll FORMAT_64BIT)
+# check_64bit_format(L FORMAT_64BIT)
+# check_64bit_format(q FORMAT_64BIT)
+# check_64bit_format(I64 FORMAT_64BIT)
+# 
+# if(NOT FORMAT_64BIT)
+#   message(FATAL " 64 bit formart missing")
+# endif(NOT FORMAT_64BIT)
+# 
+# set(PRIX64 "${FORMAT_64BIT}X")
+# set(PRIx64 "${FORMAT_64BIT}x")
+# set(PRId64 "${FORMAT_64BIT}d")
+# set(PRIo64 "${FORMAT_64BIT}o")
+# set(PRIu64 "${FORMAT_64BIT}u")
+
+
+
+MACRO(CHECK_64BIT_FORMAT FORMAT VARIABLE)
+  IF(NOT ${VARIABLE})
+    SET(FORMAT ${FORMAT})
+#CONFIGURE_FILE("${CMAKE_ROOT}/Modules/Check64BitFormat.c.in"
+    CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/cmake/modules/Check64BitFormat.c.in"
+      "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/Check64BitFormat.c" IMMEDIATE @ONLY)
+
+    TRY_RUN(RUN_RESULT_VAR COMPILE_RESULT_VAR
+      ${CMAKE_BINARY_DIR}
+      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/Check64BitFormat.c
+      OUTPUT_VARIABLE OUTPUT)
+    
+    IF(${RUN_RESULT_VAR} STREQUAL "0")
+      SET(${VARIABLE} 1 CACHE INTERNAL "Have format ${FORMAT}")
+      MESSAGE(STATUS "Looking for 64bit format ${FORMAT} - found")
+      FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log 
+        "Determining if the format ${FORMAT} runs passed with the following output:\n"
+        "${OUTPUT}\n\n")
+      SET(${VARIABLE} ${FORMAT})
+    ELSE(${RUN_RESULT_VAR} STREQUAL "0")
+      MESSAGE(STATUS "Looking for 64bit format ${FORMAT} - not found")
+      SET(${VARIABLE} "" CACHE INTERNAL "Have format ${FORMAT}")
+      FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log 
+        "Determining if the format ${FORMAT} runs with the following output:\n"
+        "${OUTPUT}\n\n")
+    ENDIF(${RUN_RESULT_VAR} STREQUAL "0")
+  ENDIF(NOT ${VARIABLE})
+ENDMACRO(CHECK_64BIT_FORMAT)
diff --git a/cmake/modules/FindADNS.cmake b/cmake/modules/FindADNS.cmake
new file mode 100644 (file)
index 0000000..3a9aabe
--- /dev/null
@@ -0,0 +1,34 @@
+# - Find adns
+# Find the gnu adns includes and library
+# http://www.chiark.greenend.org.uk/~ian/adns/
+#
+#  ADNS_INCLUDE_DIRS - where to find adns.h, etc.
+#  ADNS_LIBRARIES   - List of libraries when using adns.
+#  ADNS_FOUND       - True if adns found.
+
+#Includes
+FIND_PATH(ADNS_INCLUDE_DIR adns.h
+  /usr/local/include
+  /usr/include
+)
+
+SET(ADNS_INCLUDE_DIRS ${ADNS_INCLUDE_DIR})
+
+#Library
+FIND_LIBRARY(ADNS_LIBRARY
+  NAMES adns
+  PATHS /usr/lib /usr/local/lib
+)
+
+SET(ADNS_LIBRARIES ${ADNS_LIBRARY})
+
+#Is adns found ?
+IF(ADNS_INCLUDE_DIR AND ADNS_LIBRARY)
+  SET( ADNS_FOUND "YES" )
+ENDIF(ADNS_INCLUDE_DIR AND ADNS_LIBRARY)
+
+
+MARK_AS_ADVANCED(
+  ADNS_LIBRARY
+  ADNS_INCLUDE_DIR
+)
diff --git a/cmake/modules/FindDBUS.cmake b/cmake/modules/FindDBUS.cmake
new file mode 100644 (file)
index 0000000..8f1946e
--- /dev/null
@@ -0,0 +1,101 @@
+# - Locate D-Bus include paths and libraries.
+#  D-Bus can be found at http://www.freedesktop.org/wiki/Software/dbus.
+#  Written by Frederic Heem, frederic.heem _at_ telsey.it
+#
+# This module defines:
+#  DBUS_FOUND, true if D-Bus has been found
+#  DBUS_VERSION, the D-Bus version 
+#  DBUS_INCLUDE_DIRS, where to find ptlib.h, etc.
+#  DBUS_LIBRARIES, library to link againt D-Bus
+#  DBUS_DEFINITIONS, the definitions used to compile D-Bus
+
+INCLUDE(UsePkgConfig)
+
+#Keep space in 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} DBUS_FOUND)
+
+IF(DBUS_FOUND)
+  MESSAGE(STATUS "D-Bus found")
+ELSE(DBUS_FOUND)
+  MESSAGE(FATAL "D-Bus cannot be found")
+ENDIF(DBUS_FOUND)
+
+#Include
+
+PKGCONFIG_INCLUDE_DIRS(dbus-1 ${PKG_CONFIG_PATH} DBUS_INCLUDE_DIRS_PKGCONFIG)
+
+MESSAGE(STATUS ${DBUS_INCLUDE_DIRS_PKGCONFIG})
+
+FIND_PATH(DBUS_INCLUDE_DIR dbus/dbus.h
+  PATHS
+    ${DBUS_INCLUDE_DIRS_PKGCONFIG}
+    /usr/include/dbus-1.0
+  DOC
+    "Path to dbus include file dbus/dbus.h"
+  NO_DEFAULT_PATH
+)
+
+IF(DBUS_INCLUDE_DIR)
+  MESSAGE(STATUS "D-Bus include dir set to ${DBUS_INCLUDE_DIR}")
+ELSE(DBUS_INCLUDE_DIR)
+  MESSAGE(FATAL "D-Bus include dirs cannot be found")
+ENDIF(DBUS_INCLUDE_DIR)
+
+FIND_PATH(DBUS_INCLUDE_DIR_ARCH dbus/dbus-arch-deps.h
+  PATHS
+    ${DBUS_INCLUDE_DIRS_PKGCONFIG}
+    /usr/lib/dbus-1.0/include
+  DOC
+    "Path to dbus include file dbus/dbus-arch-deps.h"
+  NO_DEFAULT_PATH
+)
+
+IF(DBUS_INCLUDE_DIR_ARCH)
+  MESSAGE(STATUS "D-Bus architecture include dir set to ${DBUS_INCLUDE_DIR_ARCH}")
+ELSE(DBUS_INCLUDE_DIR_ARCH)
+  MESSAGE(FATAL " D-Bus architecture include dirs cannot be found")
+ENDIF(DBUS_INCLUDE_DIR_ARCH)
+
+SET(DBUS_INCLUDE_DIRS ${DBUS_INCLUDE_DIR} ${DBUS_INCLUDE_DIR_ARCH})
+
+#Library
+PKGCONFIG_LIBRARY_DIR(dbus-1 ${PKG_CONFIG_PATH}  DBUS_LIBRARY_DIR)
+
+SET(DBUS_LIB_PATH_DESCRIPTION "The directory containing the dbus library. E.g /home/fred/dbus/lib or c:\\dbus\\lib")
+
+FIND_LIBRARY(DBUS_LIBRARY
+  NAMES 
+    dbus-1
+  PATHS
+    ${DBUS_LIBRARY_DIR}
+  DOC 
+    ${DBUS_LIB_PATH_DESCRIPTION}
+  NO_DEFAULT_PATH
+)
+
+SET(DBUS_LIBRARIES ${DBUS_LIBRARY}) 
+
+IF(DBUS_LIBRARIES)
+  MESSAGE(STATUS "D-Bus library set to  ${DBUS_LIBRARIES}")
+ELSE(DBUS_LIBRARIES)
+  MESSAGE(FATAL "D-Bus library cannot be found")
+ENDIF(DBUS_LIBRARIES)
+
+#Version
+PKGCONFIG_VERSION(dbus-1 ${PKG_CONFIG_PATH} DBUS_VERSION)
+MESSAGE(STATUS "D-Bus version is ${DBUS_VERSION}")
+
+#Definition
+PKGCONFIG_DEFINITION(dbus-1 ${PKG_CONFIG_PATH} DBUS_DEFINITIONS)
+MESSAGE(STATUS "D-Bus definitions are ${DBUS_DEFINITIONS}")
+
+
+MARK_AS_ADVANCED(
+  DBUS_INCLUDE_DIR
+  DBUS_INCLUDE_DIR_ARCH
+  DBUS_LIBRARY
+) 
diff --git a/cmake/modules/FindDBUSGLIB.cmake b/cmake/modules/FindDBUSGLIB.cmake
new file mode 100644 (file)
index 0000000..644deb5
--- /dev/null
@@ -0,0 +1,89 @@
+# - Locate dbus-glib-1 include paths and libraries
+#  dbus-glib-1 can be found at http://www.freedesktop.org/wiki/Software/dbus
+#  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
+
+#D-Bus is required by dbus-glib-1
+FIND_PACKAGE(DBUS REQUIRED)
+
+#Keep space in 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)
+
+IF(DBUSGLIB_FOUND)
+  MESSAGE(STATUS "D-Bus glib found")
+ELSE(DBUSGLIB_FOUND)
+  MESSAGE(FATAL "D-Bus glib cannot be found")
+ENDIF(DBUSGLIB_FOUND)
+
+#Includes
+PKGCONFIG_INCLUDE_DIRS(dbus-glib-1 ${PKG_CONFIG_PATH} DBUSGLIB_INCLUDE_DIRS_PKGCONFIG)
+
+#TODO 
+FIND_PATH(DBUSGLIB_INCLUDE_DIR dbus/dbus-glib.h
+  PATHS
+    ${DBUSGLIB_INCLUDE_DIRS_PKGCONFIG}
+    /usr/include/dbus-1.0
+  DOC
+    "Path to dbus glib include file dbus-glib.h"
+  NO_DEFAULT_PATH
+)
+
+SET(DBUSGLIB_INCLUDE_DIRS ${DBUSGLIB_INCLUDE_DIR} ${DBUS_INCLUDE_DIRS})
+
+IF(DBUSGLIB_INCLUDE_DIR)
+  MESSAGE(STATUS "D-Bus glib include dir set to ${DBUSGLIB_INCLUDE_DIR}")
+ELSE(DBUSGLIB_INCLUDE_DIR)
+  MESSAGE(FATAL "D-Bus glib include dir cannot be found")
+ENDIF(DBUSGLIB_INCLUDE_DIR)
+
+#Library
+PKGCONFIG_LIBRARY_DIR(dbus-glib-1 ${PKG_CONFIG_PATH}  DBUSGLIB_LIBRARY_DIR)
+
+SET(DBUSGLIB_LIB_PATH_DESCRIPTION "The directory containing the dbus glib library. E.g /home/fred/dbus-glib/lib or c:\\dbus-glib\\lib")
+
+FIND_LIBRARY(DBUSGLIB_LIBRARY
+  NAMES 
+    dbus-glib-1
+  PATHS
+    ${DBUSGLIB_LIBRARY_DIR}
+  DOC 
+    ${DBUSGLIB_LIB_PATH_DESCRIPTION}
+  NO_DEFAULT_PATH
+)
+
+SET(DBUSGLIB_LIBRARIES ${DBUSGLIB_LIBRARY} ${DBUS_LIBRARIES}) 
+
+IF(DBUSGLIB_LIBRARIES)
+  MESSAGE(STATUS "D-Bus glib library set to  ${DBUSGLIB_LIBRARIES}")
+ELSE(DBUSGLIB_LIBRARIES)
+  MESSAGE(FATAL "D-Bus glib library cannot be found")
+ENDIF(DBUSGLIB_LIBRARIES)
+
+#Version
+PKGCONFIG_VERSION(dbus-glib-1 ${PKG_CONFIG_PATH} DBUSGLIB_VERSION)
+MESSAGE(STATUS "D-Bus glib version is ${DBUSGLIB_VERSION}")
+
+#Definition
+PKGCONFIG_DEFINITION(dbus-glib-1 ${PKG_CONFIG_PATH} DBUSGLIB_DEFINITIONS)
+MESSAGE(STATUS "D-Bus glib definitions are ${DBUSGLIB_DEFINITIONS}")
+
+#binding tool
+FIND_PROGRAM(DBUSGLIB_BINDING_TOOL_EXECUTABLE
+  NAMES 
+    dbus-binding-tool
+)
+
+MARK_AS_ADVANCED(
+  DBUSGLIB_INCLUDE_DIR
+  DBUSGLIB_LIBRARY
+  DBUSGLIB_BINDING_TOOL_EXECUTABLE
+) 
diff --git a/cmake/modules/FindGCRYPT.cmake b/cmake/modules/FindGCRYPT.cmake
new file mode 100644 (file)
index 0000000..bd0da85
--- /dev/null
@@ -0,0 +1,49 @@
+# - Find pcap
+# Find the PCAP includes and library
+#
+#  PCAP_INCLUDE_DIRS - where to find pcap.h, etc.
+#  PCAP_LIBRARIES   - List of libraries when using pcap.
+#  PCAP_FOUND       - True if pcap found.
+
+#Includes
+FIND_PATH(PCAP_INCLUDE_DIR pcap.h
+  /usr/local/include
+  /usr/include
+)
+
+SET(PCAP_INCLUDE_DIRS ${PCAP_INCLUDE_DIR})
+
+#Library
+FIND_LIBRARY(PCAP_LIBRARY
+  NAMES pcap
+  PATHS /usr/lib /usr/local/lib
+)
+
+SET(PCAP_LIBRARIES ${PCAP_LIBRARY})
+
+#Functions
+INCLUDE(CheckFunctionExists)
+SET(CMAKE_REQUIRED_INCLUDES ${PCAP_INCLUDE_DIRS})
+SET(CMAKE_REQUIRED_LIBRARIES ${PCAP_LIBRARIES})
+CHECK_FUNCTION_EXISTS("pcap_breakloop" HAVE_PCAP_BREAKLOOP)
+CHECK_FUNCTION_EXISTS("pcap_datalink_name_to_val" HAVE_PCAP_DATALINK_NAME_TO_VAL)
+CHECK_FUNCTION_EXISTS("pcap_datalink_val_to_name" HAVE_PCAP_DATALINK_VAL_TO_NAME)
+CHECK_FUNCTION_EXISTS("pcap_findalldevs" HAVE_PCAP_FINDALLDEVS)
+CHECK_FUNCTION_EXISTS("pcap_freecode" HAVE_PCAP_FREECODE)
+CHECK_FUNCTION_EXISTS("pcap_get_selectable_fd" HAVE_PCAP_GET_SELECTABLE_FD)
+CHECK_FUNCTION_EXISTS("pcap_lib_version" HAVE_PCAP_LIB_VERSION)
+CHECK_FUNCTION_EXISTS("pcap_list_datalinks" HAVE_PCAP_LIST_DATALINKS)
+CHECK_FUNCTION_EXISTS("pcap_open_dead" HAVE_PCAP_OPEN_DEAD)
+CHECK_FUNCTION_EXISTS("pcap_set_datalink" HAVE_PCAP_SET_DATALINK)
+
+
+#Is pcap found ?
+IF(PCAP_INCLUDE_DIR AND PCAP_LIBRARY)
+  SET( PCAP_FOUND "YES" )
+ENDIF(PCAP_INCLUDE_DIR AND PCAP_LIBRARY)
+
+
+MARK_AS_ADVANCED(
+  PCAP_LIBRARY
+  PCAP_INCLUDE_DIR
+)
index 1dda572c62d6a291961fd288d7a08ad63cf2afbc..19d4f8e87f53528c5206d15fc0f3be1e91b6398e 100644 (file)
+# - Try to find GLIB2
+# Once done this will define
 #
-# try to find GLIB2 (and glib) and GLIBGLArea
+#  GLIB2_FOUND - system has GLIB2
+#  GLIB2_INCLUDE_DIRS - the GLIB2 include directory
+#  GLIB2_LIBRARIES - Link these to use GLIB2
+#  GLIB2_DEFINITIONS - Compiler switches required for using GLIB2
 #
+#  Copyright (c) 2006 Andreas Schneider <mail@cynapses.org>
+#  Copyright (c) 2006 Philippe Bernery <philippe.bernery@gmail.com>
+#
+#  Redistribution and use is allowed according to the terms of the New
+#  BSD license.
+#  For details see the accompanying COPYING-CMAKE-SCRIPTS file.
 #
-# Jan Woetzel 06/2004: added /opt/gnome/include/gtk-1.2 path and $ENV{GLIB2_HOME}
-# Andreas Schneider 08/2006: added pkgconfig, added lib64 include dirs
-# Joerg Mayer 2006-08-31: rename GLIB to GLIB2
-
-
-# GLIB2_INCLUDE_DIR   - Directories to include to use GLIB
-# GLIB2_LIBRARIES     - Files to link against to use GLIB
-# GLIB2_FOUND         - If false, don't try to use GLIB
 
 
-# don't even bother under WIN32
-IF(UNIX)
+if (GLIB2_LIBRARIES AND GLIB2_INCLUDE_DIRS)
+  # in cache already
+  set(GLIB2_FOUND TRUE)
+else (GLIB2_LIBRARIES AND GLIB2_INCLUDE_DIRS)
   # use pkg-config to get the directories and then use these values
   # in the FIND_PATH() and FIND_LIBRARY() calls
-  INCLUDE(UsePkgConfig)
-
-  # Some Linux distributions (e.g. Red Hat) have glibconfig.h
-  # and glib.h in different directories, so we need to look
-  # for both.
-  #  - Atanas Georgiev <atanas@cs.columbia.edu>
-  PKGCONFIG(glib-2.0 _GLIB2IncDir _GLIB2inkDir _GLIB2LinkFlags _GLIB2Cflags)
-  PKGCONFIG(gmodule-2.0 _GMODULE2IncDir _GMODULE2inkDir _GMODULE2LinkFlags _GMODULE2Cflags)
-  SET(GDIR /opt/gnome/lib/glib-2.0/include)
-
-  FIND_PATH(GLIB2_glibconfig_INCLUDE_PATH glibconfig.h
-    ${_GLIB2IncDir}
-    /opt/gnome/lib64/glib-2.0/include
-    /opt/gnome/lib/glib-2.0/include
-    /usr/lib64/glib-2.0/include
-    /usr/lib/glib-2.0/include
+  include(UsePkgConfig)
+
+  ## GLibConfig
+  find_path(GLIBCONFIG_INCLUDE_DIR
+    NAMES
+      glibconfig.h
+    PATHS
+      ${_GLIB2IncDir}
+      /opt/gnome/lib64/glib-2.0/include
+      /opt/gnome/lib/glib-2.0/include
+      /opt/lib/glib-2.0/include
+      /usr/lib64/glib-2.0/include
+      /usr/lib/glib-2.0/include
+      /sw/lib/glib-2.0/include
+  )
+  ##
+
+  ## Glib
+  pkgconfig(glib-2.0 _GLIB2IncDir _GLIB2LinkDir _GLIB2LinkFlags _GLIB2Cflags)
+
+  set(GLIB2_DEFINITIONS ${_GLIB2Cflags})
+
+  find_path(GLIB2_INCLUDE_DIR
+    NAMES
+      glib.h
+    PATHS
+      ${_GLIB2IncDir}
+      /opt/gnome/include/glib-2.0
+      /usr/include/glib-2.0
+      /usr/local/include/glib-2.0
+      /opt/local/include/glib-2.0
+      /sw/include/glib-2.0
   )
 
-  FIND_PATH(GLIB2_glib_INCLUDE_PATH glib.h
-    ${_GLIB2IncDir}
-    /opt/gnome/include/glib-2.0
-    /usr/include/glib-2.0
+  find_library(GLIB2_LIBRARY
+    NAMES
+      glib-2.0
+    PATHS
+      ${_GLIB2LinkDir}
+      /opt/gnome/lib
+      /usr/lib
+      /usr/local/lib
+      /opt/local/lib
+      /sw/lib
   )
 
-  FIND_LIBRARY( GLIB2_gmodule_LIBRARY
-    NAMES  gmodule-2.0
-    PATHS  ${_GMODULE2inkDir}
-           /usr/lib
-           /usr/local/lib
-           /usr/openwin/lib
-           /usr/X11R6/lib
-           /opt/gnome/lib
+  set(GLIB2_LIBRARIES ${GLIB2_LIBRARY})
+  set(GLIB2_INCLUDE_DIRS ${GLIB2_INCLUDE_DIR})
+  ##
+
+  ## GModule
+  pkgconfig(gmodule-2.0 _GMODULE2IncDir _GMODULE2LinkDir _GMODULE2LinkFlags _GMODULE2Cflags)
+
+  set(GMODULE2_DEFINITIONS ${_GMODULE2Cflags})
+
+  find_path(GMODULE2_INCLUDE_DIR
+    NAMES
+      gmodule.h
+    PATHS
+      ${_GMODULE2IncDir}
+      /opt/gnome/include/glib-2.0
+      /usr/include/glib-2.0
+      /usr/local/include/glib-2.0
+      /opt/local/include/glib-2.0
+      /sw/include/glib-2.0
+  )
+  find_library(GMODULE2_LIBRARY
+    NAMES
+      gmodule-2.0
+    PATHS
+      ${_GMODULE2LinkDir}
+      /opt/gnome/lib
+      /usr/lib
+      /usr/local/lib
+      /opt/local/lib
+      /sw/lib
+  )
+  if (GMODULE2_LIBRARY AND GMODULE2_INCLUDE_DIR)
+    set(GMODULE2_FOUND TRUE)
+  endif (GMODULE2_LIBRARY AND GMODULE2_INCLUDE_DIR)
+  ##
+
+  ## GThread
+  pkgconfig(gthread-2.0 _GTHREAD2IncDir _GTHREAD2LinkDir _GTHREAD2LinkFlags _GTHREAD2Cflags)
+
+  set(GTHREAD2_DEFINITIONS ${_GTHREAD2Cflags})
+
+  find_path(GTHREAD2_INCLUDE_DIR
+    NAMES
+      gthread.h
+    PATHS
+      ${_GTHREAD2IncDir}
+      /opt/gnome/include/glib-2.0
+      /usr/include/glib-2.0
+      /usr/local/include/glib-2.0
+      /opt/local/include/glib-2.0
+      /sw/include/glib-2.0
+    PATH_SUFFIXES
+      glib
+  )
+  find_library(GTHREAD2_LIBRARY
+    NAMES
+      gthread-2.0
+    PATHS
+      ${_GTHREAD2LinkDir}
+      /opt/gnome/lib
+      /usr/lib
+      /usr/local/lib
+      /opt/local/lib
+      /sw/lib
   )
 
-  FIND_LIBRARY( GLIB2_glib_LIBRARY
-    NAMES  glib-2.0
-    PATHS  ${_GLIB2inkDir}
-           /usr/lib
-           /usr/local/lib
-           /usr/openwin/lib
-           /usr/X11R6/lib
-           /opt/gnome/lib
+  if (GTHREAD2_LIBRARY AND GTHREAD2_INCLUDE_DIR)
+    set(GTHREAD2_FOUND TRUE)
+  endif (GTHREAD2_LIBRARY AND GTHREAD2_INCLUDE_DIR)
+  ##
+
+  ## libintl
+  find_path(LIBINTL_INCLUDE_DIR
+    NAMES
+      libintl.h
+    PATHS
+      /opt/gnome/include/glib-2.0
+      /usr/include/glib-2.0
+      /usr/local/include/glib-2.0
+      /opt/local/include/glib-2.0
+      /sw/include/glib-2.0
+  )
+  find_library(LIBINTL_LIBRARY
+    NAMES
+      intl
+    PATHS
+      /opt/gnome/lib
+      /usr/lib
+      /usr/local/lib
+      /opt/local/lib
+      /sw/lib
   )
 
-  FIND_LIBRARY( GLIB2_gthread_LIBRARY
-    NAMES  gthread-2.0
-    PATHS  /usr/lib
-           /usr/local/lib
-           /usr/openwin/lib
-           /usr/X11R6/lib
-           /opt/gnome/lib
+  if (LIBINTL_LIBRARY AND LIBINTL_INCLUDE_DIR)
+    set(LIBINTL_FOUND TRUE)
+  endif (LIBINTL_LIBRARY AND LIBINTL_INCLUDE_DIR)
+  ##
+
+  ## libiconv
+  find_path(LIBICONV_INCLUDE_DIR
+    NAMES
+      iconv.h
+    PATHS
+      /opt/gnome/include/glib-2.0
+      /usr/include/glib-2.0
+      /usr/local/include/glib-2.0
+      /opt/local/include/glib-2.0
+      /sw/include/glib-2.0
+  )
+  find_library(LIBICONV_LIBRARY
+    NAMES
+      iconv
+    PATHS
+      /opt/gnome/lib
+      /usr/lib
+      /usr/local/lib
+      /opt/local/lib
+      /sw/lib
   )
 
-  FIND_LIBRARY( GLIB2_gobject_LIBRARY
-    NAMES  gobject-2.0
-    PATHS 
-           /opt/gnome/lib
+  if (LIBICONV_LIBRARY AND LIBICONV_INCLUDE_DIR)
+    set(LIBICONV_FOUND TRUE)
+  endif (LIBICONV_LIBRARY AND LIBICONV_INCLUDE_DIR)
+  ##
+
+  set(GLIB2_INCLUDE_DIRS
+    ${GLIB_INCLUDE_DIR}
+    ${GLIBCONFIG_INCLUDE_DIR}
+  )
+  set(GLIB2_LIBRARIES
+    ${GLIB_LIBRARY}
   )
 
-  IF(GLIB2_glibconfig_INCLUDE_PATH)
-    IF(GLIB2_glib_INCLUDE_PATH)
-      IF(GLIB2_glib_LIBRARY)
-       
-       SET( GLIB2_FOUND TRUE )
-       SET( GLIB2_INCLUDE_DIR
-          ${GLIB2_glibconfig_INCLUDE_PATH}
-          ${GLIB2_glib_INCLUDE_PATH})
-       SET( GLIB2_LIBRARIES ${GLIB2_glib_LIBRARY} )
-    
-        IF(GLIB2_gmodule_LIBRARY)
-         SET(GLIB2_LIBRARIES ${GLIB2_LIBRARIES} ${GLIB2_gmodule_LIBRARY})
-        ENDIF(GLIB2_gmodule_LIBRARY)
-        IF(GLIB2_gthread_LIBRARY)
-          SET(GLIB2_LIBRARIES ${GLIB2_LIBRARIES} ${GLIB2_gthread_LIBRARY})
-        ENDIF(GLIB2_gthread_LIBRARY)
-
-      ELSE(GLIB2_glib_LIBRARY)
-        MESSAGE("Can not find glib lib")
-      ENDIF(GLIB2_glib_LIBRARY)
-    ELSE(GLIB2_glib_INCLUDE_PATH) 
-      MESSAGE("Can not find glib includes")
-    ENDIF(GLIB2_glib_INCLUDE_PATH) 
-  ELSE(GLIB2_glibconfig_INCLUDE_PATH)
-    MESSAGE("Can not find glibconfig")
-  ENDIF(GLIB2_glibconfig_INCLUDE_PATH)
+  if (GMODULE2_FOUND)
+    set(GLIB2_LIBRARIES ${GLIB2_LIBRARIES} ${GMODULE2_LIBRARY})
+    set(GLIB2_INCLUDE_DIRS ${GLIB2_INCLUDE_DIRS} ${GMODULE2_INCLUDE_DIR})
+  endif (GMODULE2_FOUND)
+
+  if (GTHREAD2_FOUND)
+    set(GLIB2_LIBRARIES ${GLIB2_LIBRARIES} ${GTHREAD2_LIBRARY})
+    set(GLIB2_INCLUDE_DIRS ${GLIB2_INCLUDE_DIRS} ${GTHREAD2_INCLUDE_DIR})
+  endif (GTHREAD2_FOUND)
+
+  if (LIBINTL_FOUND)
+    set(GLIB2_LIBRARIES ${GLIB2_LIBRARIES} ${LIBINTL_LIBRARY})
+    set(GLIB2_INCLUDE_DIRS ${GLIB2_INCLUDE_DIRS} ${LIBINTL_INCLUDE_DIR})
+  endif (LIBINTL_FOUND)
+
+  if (LIBICONV_FOUND)
+    set(GLIB2_LIBRARIES ${GLIB2_LIBRARIES} ${LIBICONV_LIBRARY})
+    set(GLIB2_INCLUDE_DIRS ${GLIB2_INCLUDE_DIRS} ${LIBICONV_INCLUDE_DIR})
+  endif (LIBICONV_FOUND)
+
+  if (GLIB2_INCLUDE_DIRS AND GLIB2_LIBRARIES)
+     set(GLIB2_FOUND TRUE)
+  endif (GLIB2_INCLUDE_DIRS AND GLIB2_LIBRARIES)
 
   if (GLIB2_FOUND)
     if (NOT GLIB2_FIND_QUIETLY)
-      message(STATUS "Found GLIB: ${GLIB2_LIBRARIES}")
+      message(STATUS "Found GLIB2: ${GLIB2_LIBRARIES}")
     endif (NOT GLIB2_FIND_QUIETLY)
   else (GLIB2_FOUND)
     if (GLIB2_FIND_REQUIRED)
-      message(FATAL_ERROR "Could NOT find GLIB")
+      message(FATAL_ERROR "Could not find GLIB2")
     endif (GLIB2_FIND_REQUIRED)
   endif (GLIB2_FOUND)
 
+  # show the GLIB2_INCLUDE_DIRS and GLIB2_LIBRARIES variables only in the advanced view
+  mark_as_advanced(GLIB2_INCLUDE_DIRS GLIB2_LIBRARIES)
 
-  MARK_AS_ADVANCED(
-    GLIB2_glib_INCLUDE_PATH
-    GLIB2_glib_LIBRARY
-    GLIB2_glibconfig_INCLUDE_PATH
-    GLIB2_gmodule_LIBRARY
-    GLIB2_gthread_LIBRARY
-  )
-
-ELSE(UNIX)
-  # MESSAGE("FindGLIB2 is working on UNIX/LINUX, only!")
-ENDIF(UNIX)
-
+endif (GLIB2_LIBRARIES AND GLIB2_INCLUDE_DIRS)
index c426b24303bc5c113abc2a15c5404cb1d35eb566..a7bc1d3a497dc4056eeb0bae097411ad2283af3f 100644 (file)
@@ -78,7 +78,9 @@ ELSE (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
       ${_GTK22IncDir}
       /usr/include/gtk-2.0
       /usr/local/include/gtk-2.0
+      /opt/include/gtk-2.0
       /opt/gnome/include/gtk-2.0
+      /sw/include/gtk-2.0
     )
 
     # Some Linux distributions (e.g. Red Hat) have glibconfig.h
@@ -88,19 +90,24 @@ ELSE (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
     PKGCONFIG(glib-2.0 _GLIB2IncDir _GLIB2inkDir _GLIB2LinkFlags _GLIB2Cflags)
     PKGCONFIG(gmodule-2.0 _GMODULE2IncDir _GMODULE2inkDir _GMODULE2LinkFlags _GMODULE2Cflags)
     SET(GDIR /opt/gnome/lib/glib-2.0/include)
+
     FIND_PATH(GTK2_GLIBCONFIG_INCLUDE_PATH glibconfig.h
       ${_GLIB2IncDir}
       /opt/gnome/lib64/glib-2.0/include
       /opt/gnome/lib/glib-2.0/include
+      /opt/lib/glib-2.0/include
       /usr/lib64/glib-2.0/include
       /usr/lib/glib-2.0/include
+      /sw/lib/glib-2.0/include
     )
     #MESSAGE(STATUS "DEBUG: GTK2_GLIBCONFIG_INCLUDE_PATH = ${GTK2_GLIBCONFIG_INCLUDE_PATH}")
 
     FIND_PATH(GTK2_GLIB_INCLUDE_PATH glib.h
       ${_GLIB2IncDir}
+      /opt/include/glib-2.0
       /opt/gnome/include/glib-2.0
       /usr/include/glib-2.0
+      /sw/include/glib-2.0
     )
     #MESSAGE(STATUS "DEBUG: GTK2_GLIBCONFIG_INCLUDE_PATH = ${GTK2_GLIBCONFIG_INCLUDE_PATH}")
 
@@ -110,6 +117,8 @@ ELSE (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
       /usr/local/include
       /usr/openwin/share/include
       /opt/gnome/include
+      /opt/include
+      /sw/include
     )
 
     PKGCONFIG(pango _PANGOIncDir _PANGOinkDir _PANGOLinkFlags _PANGOCflags)
@@ -117,7 +126,9 @@ ELSE (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
     FIND_PATH(GTK2_PANGO_INCLUDE_PATH pango/pango.h
       ${_PANGOIncDir}
       /opt/gnome/include/pango-1.0
+      /opt/include/pango-1.0
       /usr/include/pango-1.0
+      /sw/include/pango-1.0
     )
 
     PKGCONFIG(gdk-2.0 _GDK2IncDir _GDK2inkDir _GDK2LinkFlags _GDK2Cflags)
@@ -126,8 +137,10 @@ ELSE (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
       ${_GDK2IncDir}
       /opt/gnome/lib/gtk-2.0/include
       /opt/gnome/lib64/gtk-2.0/include
+      /opt/lib/gtk-2.0/include
       /usr/lib/gtk-2.0/include
       /usr/lib64/gtk-2.0/include
+      /sw/lib/gtk-2.0/include
     )
 
     PKGCONFIG(cairo _CAIROIncDir _CAIROinkDir _CAIROLinkFlags _CAIROCflags)
@@ -137,6 +150,10 @@ ELSE (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
       /opt/gnome/include/cairo
       /usr/include
       /usr/include/cairo
+      /opt/include
+      /opt/include/cairo
+      /sw/include
+      /sw/include/cairo
     )
     #MESSAGE(STATUS "DEBUG: GTK2_CAIRO_INCLUDE_PATH = ${GTK2_CAIRO_INCLUDE_PATH}")
 
@@ -146,6 +163,8 @@ ELSE (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
       ${_ATKIncDir}
       /opt/gnome/include/atk-1.0
       /usr/include/atk-1.0
+      /opt/include/atk-1.0
+      /sw/include/atk-1.0
     )
     #MESSAGE(STATUS "DEBUG: GTK2_ATK_INCLUDE_PATH = ${GTK2_ATK_INCLUDE_PATH}")
 
@@ -159,6 +178,8 @@ ELSE (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
         /usr/openwin/lib
         /usr/X11R6/lib
         /opt/gnome/lib
+        /opt/lib
+        /sw/lib
     )
 
     FIND_LIBRARY(GTK2_GTK_LIBRARY
@@ -171,6 +192,8 @@ ELSE (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
         /usr/openwin/lib
         /usr/X11R6/lib
         /opt/gnome/lib
+        /opt/lib
+        /sw/lib
     )
 
     FIND_LIBRARY(GTK2_GDK_LIBRARY
@@ -183,6 +206,8 @@ ELSE (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
         /usr/openwin/lib
         /usr/X11R6/lib
         /opt/gnome/lib
+        /opt/lib
+        /sw/lib
     )
 
     FIND_LIBRARY(GTK2_GMODULE_LIBRARY
@@ -195,6 +220,8 @@ ELSE (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
         /usr/openwin/lib
         /usr/X11R6/lib
         /opt/gnome/lib
+        /opt/lib
+        /sw/lib
     )
 
     FIND_LIBRARY(GTK2_GLIB_LIBRARY
@@ -207,6 +234,8 @@ ELSE (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
         /usr/openwin/lib
         /usr/X11R6/lib
         /opt/gnome/lib
+        /opt/lib
+        /sw/lib
     )
 
     FIND_LIBRARY(GTK2_Xi_LIBRARY 
@@ -218,6 +247,8 @@ ELSE (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
         /usr/openwin/lib
         /usr/X11R6/lib
         /opt/gnome/lib
+        /opt/lib
+        /sw/lib
     )
 
     FIND_LIBRARY(GTK2_GTHREAD_LIBRARY
@@ -229,6 +260,8 @@ ELSE (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
         /usr/openwin/lib
         /usr/X11R6/lib
         /opt/gnome/lib
+        /opt/lib
+        /sw/lib
     )
 
 
@@ -241,6 +274,8 @@ ELSE (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
         /usr/openwin/lib
         /usr/X11R6/lib
         /opt/gnome/lib
+        /opt/lib
+        /sw/lib
     )
 
     IF(GTK2_GTK_INCLUDE_PATH)
@@ -264,7 +299,6 @@ ELSE (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
                       ${GTK2_GDKCONFIG_INCLUDE_PATH}
                       ${GTK2_ATK_INCLUDE_PATH}
                       ${GTK2_CAIRO_INCLUDE_PATH}
-                      CACHE INTERNAL "The include directories for GTK2"
                     )
 
                     SET(GTK2_LIBRARIES
@@ -286,9 +320,7 @@ ELSE (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
                         ${GTK2_LIBRARIES}
                         ${GTK2_GTHREAD_LIBRARY}
                       )
-                    SET(GTK2_LIBRARIES ${GTK2_LIBRARIES}
-                       CACHE INTERNAL "The libraries for GTK2"
-                   )
+                    SET(GTK2_LIBRARIES ${GTK2_LIBRARIES})
                     ENDIF(GTK2_GTHREAD_LIBRARY)
                   ELSE(GTK2_CAIRO_INCLUDE_PATH)
                     MESSAGE(STATUS "Can not find cairo")
index 31033f23cac5e0e92f4cd87bc0ed8eaf2a5a2227..2e307f36055c25a804e109be4cdc55cc5d5a7356 100644 (file)
@@ -1,10 +1,9 @@
-# - Find unix commands from cygwin
-# This module looks for some usual Unix commands.
+# - Find lex executable
 #
 
 INCLUDE(FindCygwin)
 
-FIND_PROGRAM(LEX
+FIND_PROGRAM(LEX_EXECUTABLE
   NAMES 
   lex
   flex
@@ -16,5 +15,41 @@ FIND_PROGRAM(LEX
   /sbin
 )
 MARK_AS_ADVANCED(
-  LEX
+  LEX_EXECUTABLE
 )
+
+---------
+# flex a .ll file
+
+# search flex
+MACRO(FIND_FLEX)
+    IF(NOT FLEX_EXECUTABLE)
+        FIND_PROGRAM(FLEX_EXECUTABLE flex)
+        IF (NOT FLEX_EXECUTABLE)
+          MESSAGE(FATAL_ERROR "flex not found - aborting")
+        ENDIF (NOT FLEX_EXECUTABLE)
+    ENDIF(NOT FLEX_EXECUTABLE)
+ENDMACRO(FIND_FLEX)
+
+MACRO(ADD_FLEX_FILES _sources )
+    FIND_FLEX()
+
+    FOREACH (_current_FILE ${ARGN})
+      GET_FILENAME_COMPONENT(_in ${_current_FILE} ABSOLUTE)
+      GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE)
+
+      SET(_out ${CMAKE_CURRENT_BINARY_DIR}/flex_${_basename}.cpp)
+
+      ADD_CUSTOM_COMMAND(
+         OUTPUT ${_out}
+         COMMAND ${FLEX_EXECUTABLE}
+         ARGS
+         -o${_out}
+         ${_in}
+         DEPENDS ${_in}
+      )
+
+      SET(${_sources} ${${_sources}} ${_out} )
+   ENDFOREACH (_current_FILE)
+ENDMACRO(ADD_FLEX_FILES)
+
index 8eb537d9c78ccd4b481a7c94ad5359f833c37856..bd0da85eff20f0fce24f94fa3c45856b065ebc04 100644 (file)
@@ -1,27 +1,49 @@
 # - Find pcap
 # Find the PCAP includes and library
 #
-#  PCAP_INCLUDE_DIR - where to find pcap.h, etc.
+#  PCAP_INCLUDE_DIRS - where to find pcap.h, etc.
 #  PCAP_LIBRARIES   - List of libraries when using pcap.
 #  PCAP_FOUND       - True if pcap found.
 
+#Includes
 FIND_PATH(PCAP_INCLUDE_DIR pcap.h
   /usr/local/include
   /usr/include
 )
 
-FIND_LIBRARY(PCAP_LIBRARIES
+SET(PCAP_INCLUDE_DIRS ${PCAP_INCLUDE_DIR})
+
+#Library
+FIND_LIBRARY(PCAP_LIBRARY
   NAMES pcap
   PATHS /usr/lib /usr/local/lib
 )
 
-IF(PCAP_INCLUDE_DIR)
-  IF(PCAP_LIBRARIES)
-    SET( PCAP_FOUND "YES" )
-  ENDIF(PCAP_LIBRARIES)
-ENDIF(PCAP_INCLUDE_DIR)
+SET(PCAP_LIBRARIES ${PCAP_LIBRARY})
+
+#Functions
+INCLUDE(CheckFunctionExists)
+SET(CMAKE_REQUIRED_INCLUDES ${PCAP_INCLUDE_DIRS})
+SET(CMAKE_REQUIRED_LIBRARIES ${PCAP_LIBRARIES})
+CHECK_FUNCTION_EXISTS("pcap_breakloop" HAVE_PCAP_BREAKLOOP)
+CHECK_FUNCTION_EXISTS("pcap_datalink_name_to_val" HAVE_PCAP_DATALINK_NAME_TO_VAL)
+CHECK_FUNCTION_EXISTS("pcap_datalink_val_to_name" HAVE_PCAP_DATALINK_VAL_TO_NAME)
+CHECK_FUNCTION_EXISTS("pcap_findalldevs" HAVE_PCAP_FINDALLDEVS)
+CHECK_FUNCTION_EXISTS("pcap_freecode" HAVE_PCAP_FREECODE)
+CHECK_FUNCTION_EXISTS("pcap_get_selectable_fd" HAVE_PCAP_GET_SELECTABLE_FD)
+CHECK_FUNCTION_EXISTS("pcap_lib_version" HAVE_PCAP_LIB_VERSION)
+CHECK_FUNCTION_EXISTS("pcap_list_datalinks" HAVE_PCAP_LIST_DATALINKS)
+CHECK_FUNCTION_EXISTS("pcap_open_dead" HAVE_PCAP_OPEN_DEAD)
+CHECK_FUNCTION_EXISTS("pcap_set_datalink" HAVE_PCAP_SET_DATALINK)
+
+
+#Is pcap found ?
+IF(PCAP_INCLUDE_DIR AND PCAP_LIBRARY)
+  SET( PCAP_FOUND "YES" )
+ENDIF(PCAP_INCLUDE_DIR AND PCAP_LIBRARY)
+
 
 MARK_AS_ADVANCED(
-  PCAP_LIBRARIES
+  PCAP_LIBRARY
   PCAP_INCLUDE_DIR
 )
diff --git a/cmake/modules/FindQt4.cmake b/cmake/modules/FindQt4.cmake
new file mode 100644 (file)
index 0000000..b836fd6
--- /dev/null
@@ -0,0 +1,1057 @@
+# - Find QT 4
+# This module can be used to find Qt4.
+# The most important issue is that the Qt4 qmake is available via the system path.
+# This qmake is then used to detect basically everything else.
+# This module defines a number of key variables and macros. First is 
+# QT_USE_FILE which is the path to a CMake file that can be included to compile
+# Qt 4 applications and libraries.  By default, the QtCore and QtGui 
+# libraries are loaded. This behavior can be changed by setting one or more 
+# of the following variables to true:
+#                    QT_DONT_USE_QTCORE
+#                    QT_DONT_USE_QTGUI
+#                    QT_USE_QT3SUPPORT
+#                    QT_USE_QTASSISTANT
+#                    QT_USE_QTDESIGNER
+#                    QT_USE_QTMOTIF
+#                    QT_USE_QTMAIN
+#                    QT_USE_QTNETWORK
+#                    QT_USE_QTNSPLUGIN
+#                    QT_USE_QTOPENGL
+#                    QT_USE_QTSQL
+#                    QT_USE_QTXML
+# All the libraries required are stored in a variable called QT_LIBRARIES.  
+# Add this variable to your TARGET_LINK_LIBRARIES.
+#  
+#  macro QT4_WRAP_CPP(outfiles inputfile ... )
+#  macro QT4_WRAP_UI(outfiles inputfile ... )
+#  macro QT4_ADD_RESOURCE(outfiles inputfile ... )
+#  macro QT4_AUTOMOC(inputfile ... )
+#  macro QT4_GENERATE_MOC(inputfile outputfile )
+#
+#  macro QT4_ADD_DBUS_INTERFACE(outfiles interface basename)
+#        create a the interface header and implementation files with the 
+#        given basename from the given interface xml file and add it to 
+#        the list of sources
+#
+#  macro QT4_ADD_DBUS_INTERFACES(outfiles inputfile ... )
+#        create the interface header and implementation files 
+#        for all listed interface xml files
+#        the name will be automatically determined from the name of the xml file
+#
+#  macro QT4_ADD_DBUS_ADAPTOR(outfiles xmlfile parentheader parentclassname [basename] )
+#        create a dbus adaptor (header and implementation file) from the xml file
+#        describing the interface, and add it to the list of sources. The adaptor
+#        forwards the calls to a parent class, defined in parentheader and named
+#        parentclassname. The name of the generated files will be
+#        <basename>adaptor.{cpp,h} where basename is the basename of the xml file.
+#
+#  macro QT4_GENERATE_DBUS_INTERFACE( header)
+#        generate the xml interface file from the given header
+#
+#  QT_FOUND         If false, don't try to use Qt.
+#  QT4_FOUND        If false, don't try to use Qt 4.
+#
+#  QT_QTCORE_FOUND        True if QtCore was found.
+#  QT_QTGUI_FOUND         True if QtGui was found.
+#  QT_QT3SUPPORT_FOUND    True if Qt3Support was found.
+#  QT_QTASSISTANT_FOUND   True if QtAssistant was found.
+#  QT_QTDBUS_FOUND        True if QtDBus was found.
+#  QT_QTDESIGNER_FOUND    True if QtDesigner was found.
+#  QT_QTMOTIF_FOUND       True if QtMotif was found.
+#  QT_QTNETWORK_FOUND     True if QtNetwork was found.
+#  QT_QTNSPLUGIN_FOUND    True if QtNsPlugin was found.
+#  QT_QTOPENGL_FOUND      True if QtOpenGL was found.
+#  QT_QTSQL_FOUND         True if QtSql was found.
+#  QT_QTXML_FOUND         True if QtXml was found.
+#  QT_QTSVG_FOUND         True if QtSvg was found.
+#  QT_QTTEST_FOUND        True if QtTest was found.
+#                      
+#  QT_DEFINITIONS   Definitions to use when compiling code that uses Qt.
+#                  
+#  QT_INCLUDES      List of paths to all include directories of 
+#                   Qt4 QT_INCLUDE_DIR and QT_QTCORE_INCLUDE_DIR are
+#                   always in this variable even if NOTFOUND,
+#                   all other INCLUDE_DIRS are
+#                   only added if they are found.
+#   
+#  QT_INCLUDE_DIR              Path to "include" of Qt4
+#  QT_QT_INCLUDE_DIR           Path to "include/Qt" 
+#  QT_QT3SUPPORT_INCLUDE_DIR   Path to "include/Qt3Support" 
+#  QT_QTASSISTANT_INCLUDE_DIR  Path to "include/QtAssistant" 
+#  QT_QTCORE_INCLUDE_DIR       Path to "include/QtCore"         
+#  QT_QTDESIGNER_INCLUDE_DIR   Path to "include/QtDesigner" 
+#  QT_QTDBUS_INCLUDE_DIR       Path to "include/QtDBus" 
+#  QT_QTGUI_INCLUDE_DIR        Path to "include/QtGui" 
+#  QT_QTMOTIF_INCLUDE_DIR      Path to "include/QtMotif" 
+#  QT_QTNETWORK_INCLUDE_DIR    Path to "include/QtNetwork" 
+#  QT_QTNSPLUGIN_INCLUDE_DIR   Path to "include/QtNsPlugin" 
+#  QT_QTOPENGL_INCLUDE_DIR     Path to "include/QtOpenGL" 
+#  QT_QTSQL_INCLUDE_DIR        Path to "include/QtSql" 
+#  QT_QTXML_INCLUDE_DIR        Path to "include/QtXml" 
+#  QT_QTSVG_INCLUDE_DIR        Path to "include/QtSvg"
+#  QT_QTTEST_INCLUDE_DIR       Path to "include/QtTest"
+#                            
+#  QT_LIBRARY_DIR              Path to "lib" of Qt4
+#                            
+# For every library of Qt there are three variables:
+#  QT_QTFOO_LIBRARY_RELEASE, which contains the full path to the release version
+#  QT_QTFOO_LIBRARY_DEBUG, which contains the full path to the debug version
+#  QT_QTFOO_LIBRARY, the full path to the release version if available, otherwise to the debug version
+#
+# So there are the following variables:
+# The Qt3Support library:     QT_QT3SUPPORT_LIBRARY
+#                             QT_QT3SUPPORT_LIBRARY_RELEASE
+#                             QT_QT3SUPPORT_DEBUG
+#
+# The QtAssistant library:    QT_QTASSISTANT_LIBRARY
+#                             QT_QTASSISTANT_LIBRARY_RELEASE
+#                             QT_QTASSISTANT_LIBRARY_DEBUG
+#
+# The QtCore library:         QT_QTCORE_LIBRARY
+#                             QT_QTCORE_LIBRARY_RELEASE
+#                             QT_QTCORE_LIBRARY_DEBUG
+#
+# The QtDBus library:         QT_QTDBUS_LIBRARY
+#                             QT_QTDBUS_LIBRARY_RELEASE
+#                             QT_QTDBUS_LIBRARY_DEBUG
+#
+# The QtDesigner library:     QT_QTDESIGNER_LIBRARY
+#                             QT_QTDESIGNER_LIBRARY_RELEASE
+#                             QT_QTDESIGNER_LIBRARY_DEBUG
+#
+# The QtGui library:          QT_QTGUI_LIBRARY
+#                             QT_QTGUI_LIBRARY_RELEASE
+#                             QT_QTGUI_LIBRARY_DEBUG
+#
+# The QtMotif library:        QT_QTMOTIF_LIBRARY
+#                             QT_QTMOTIF_LIBRARY_RELEASE
+#                             QT_QTMOTIF_LIBRARY_DEBUG
+#
+# The QtNetwork library:      QT_QTNETWORK_LIBRARY
+#                             QT_QTNETWORK_LIBRARY_RELEASE
+#                             QT_QTNETWORK_LIBRARY_DEBUG
+#
+# The QtNsPLugin library:     QT_QTNSPLUGIN_LIBRARY
+#                             QT_QTNSPLUGIN_LIBRARY_RELEASE
+#                             QT_QTNSPLUGIN_LIBRARY_DEBUG
+#
+# The QtOpenGL library:       QT_QTOPENGL_LIBRARY
+#                             QT_QTOPENGL_LIBRARY_RELEASE
+#                             QT_QTOPENGL_LIBRARY_DEBUG
+#
+# The QtSql library:          QT_QTSQL_LIBRARY
+#                             QT_QTSQL_LIBRARY_RELEASE
+#                             QT_QTSQL_LIBRARY_DEBUG
+#
+# The QtXml library:          QT_QTXML_LIBRARY
+#                             QT_QTXML_LIBRARY_RELEASE
+#                             QT_QTXML_LIBRARY_DEBUG
+#
+# The QtSvg library:          QT_QTSVG_LIBRARY
+#                             QT_QTSVG_LIBRARY_RELEASE
+#                             QT_QTSVG_LIBRARY_DEBUG
+#
+# The QtTest library:         QT_QTTEST_LIBRARY
+#                             QT_QTTEST_LIBRARY_RELEASE
+#                             QT_QTTEST_LIBRARY_DEBUG
+#
+# The qtmain library for Windows QT_QTMAIN_LIBRARY
+#                             QT_QTMAIN_LIBRARY_RELEASE
+#                             QT_QTMAIN_LIBRARY_DEBUG
+#
+#The QtUiTools library:       QT_QTUITOOLS_LIBRARY
+#                             QT_QTUITOOLS_LIBRARY_RELEASE
+#                             QT_QTUITOOLS_LIBRARY_DEBUG
+#  
+# also defined, but NOT for general use are
+#  QT_MOC_EXECUTABLE          Where to find the moc tool.
+#  QT_UIC_EXECUTABLE          Where to find the uic tool.
+#  QT_UIC3_EXECUTABLE         Where to find the uic3 tool.
+#  QT_RCC_EXECUTABLE          Where to find the rcc tool
+#  QT_DBUSCPP2XML_EXECUTABLE  Where to find the qdbuscpp2xml tool.
+#  QT_DBUSXML2CPP_EXECUTABLE  Where to find the qdbusxml2cpp tool.
+#  
+#  QT_DOC_DIR                 Path to "doc" of Qt4
+#  QT_MKSPECS_DIR             Path to "mkspecs" of Qt4
+#
+#
+# These are around for backwards compatibility 
+# they will be set
+#  QT_WRAP_CPP  Set true if QT_MOC_EXECUTABLE is found
+#  QT_WRAP_UI   Set true if QT_UIC_EXECUTABLE is found
+#  
+# These variables do _NOT_ have any effect anymore (compared to FindQt.cmake)
+#  QT_MT_REQUIRED         Qt4 is now always multithreaded
+#  
+# These variables are set to "" Because Qt structure changed 
+# (They make no sense in Qt4)
+#  QT_QT_LIBRARY        Qt-Library is now split
+#
+# Copyright (c) 2002 Kitware, Inc., Insight Consortium.  All rights reserved.
+# See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
+
+
+INCLUDE(CheckSymbolExists)
+INCLUDE(MacroAddFileDependencies)
+
+SET(QT_USE_FILE ${CMAKE_ROOT}/Modules/UseQt4.cmake)
+
+SET( QT_DEFINITIONS "")
+
+IF (WIN32)
+  SET(QT_DEFINITIONS -DQT_DLL)
+ENDIF(WIN32)
+
+# check for qmake
+FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake qmake-qt4 PATHS
+  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/bin"
+  "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\4.0.0;InstallDir]/bin"
+  $ENV{QTDIR}/bin
+)
+
+SET(QT4_INSTALLED_VERSION_TOO_OLD FALSE)
+
+
+IF (QT_QMAKE_EXECUTABLE)
+
+   SET(QT4_QMAKE_FOUND FALSE)
+   
+   EXEC_PROGRAM(${QT_QMAKE_EXECUTABLE} ARGS "-query QT_VERSION" OUTPUT_VARIABLE QTVERSION)
+
+   # check that we found the Qt4 qmake, Qt3 qmake output won't match here
+   STRING(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" qt_version_tmp "${QTVERSION}")
+   IF (qt_version_tmp)
+
+      # we need at least version 4.0.0
+      IF (NOT QT_MIN_VERSION)
+         SET(QT_MIN_VERSION "4.0.0")
+      ENDIF (NOT QT_MIN_VERSION)
+   
+      #now parse the parts of the user given version string into variables
+      STRING(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" req_qt_major_vers "${QT_MIN_VERSION}")
+      IF (NOT req_qt_major_vers)
+         MESSAGE( FATAL_ERROR "Invalid Qt version string given: \"${QT_MIN_VERSION}\", expected e.g. \"4.0.1\"")
+      ENDIF (NOT req_qt_major_vers)
+   
+      # now parse the parts of the user given version string into variables
+      STRING(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" req_qt_major_vers "${QT_MIN_VERSION}")
+      STRING(REGEX REPLACE "^[0-9]+\\.([0-9])+\\.[0-9]+" "\\1" req_qt_minor_vers "${QT_MIN_VERSION}")
+      STRING(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" req_qt_patch_vers "${QT_MIN_VERSION}")
+   
+      IF (NOT req_qt_major_vers EQUAL 4)
+         MESSAGE( FATAL_ERROR "Invalid Qt version string given: \"${QT_MIN_VERSION}\", major version 4 is required, e.g. \"4.0.1\"")
+      ENDIF (NOT req_qt_major_vers EQUAL 4)
+   
+      # and now the version string given by qmake
+      STRING(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" found_qt_major_vers "${QTVERSION}")
+      STRING(REGEX REPLACE "^[0-9]+\\.([0-9])+\\.[0-9]+.*" "\\1" found_qt_minor_vers "${QTVERSION}")
+      STRING(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" found_qt_patch_vers "${QTVERSION}")
+   
+      # compute an overall version number which can be compared at once
+      MATH(EXPR req_vers "${req_qt_major_vers}*10000 + ${req_qt_minor_vers}*100 + ${req_qt_patch_vers}")
+      MATH(EXPR found_vers "${found_qt_major_vers}*10000 + ${found_qt_minor_vers}*100 + ${found_qt_patch_vers}")
+   
+      IF (found_vers LESS req_vers)
+         SET(QT4_QMAKE_FOUND FALSE)
+         SET(QT4_INSTALLED_VERSION_TOO_OLD TRUE)
+      ELSE (found_vers LESS req_vers)
+    SET(QT4_QMAKE_FOUND TRUE)
+      ENDIF (found_vers LESS req_vers)
+
+   ENDIF (qt_version_tmp)
+
+ENDIF (QT_QMAKE_EXECUTABLE)
+
+IF (QT4_QMAKE_FOUND)
+
+  # ask qmake for the library dir
+  # Set QT_LIBRARY_DIR
+  IF (NOT QT_LIBRARY_DIR)
+    EXEC_PROGRAM( ${QT_QMAKE_EXECUTABLE}
+      ARGS "-query QT_INSTALL_LIBS"
+      OUTPUT_VARIABLE QT_LIBRARY_DIR_TMP )
+    IF(EXISTS "${QT_LIBRARY_DIR_TMP}")
+      SET(QT_LIBRARY_DIR ${QT_LIBRARY_DIR_TMP} CACHE PATH "Qt library dir")
+    ELSE(EXISTS "${QT_LIBRARY_DIR_TMP}")
+      MESSAGE("Warning: QT_QMAKE_EXECUTABLE reported QT_INSTALL_LIBS as ${QT_LIBRARY_DIR_TMP}")
+       MESSAGE("Warning: ${QT_LIBRARY_DIR_TMP} does NOT exist, Qt must NOT be installed correctly.")
+    ENDIF(EXISTS "${QT_LIBRARY_DIR_TMP}")
+  ENDIF(NOT QT_LIBRARY_DIR)
+  
+  IF (APPLE)
+    IF (EXISTS ${QT_LIBRARY_DIR}/QtCore.framework)
+      SET(QT_USE_FRAMEWORKS ON
+        CACHE BOOL "Set to ON if Qt build uses frameworks.")
+    ELSE (EXISTS ${QT_LIBRARY_DIR}/QtCore.framework)
+      SET(QT_USE_FRAMEWORKS OFF
+        CACHE BOOL "Set to ON if Qt build uses frameworks.")
+    ENDIF (EXISTS ${QT_LIBRARY_DIR}/QtCore.framework)
+    
+    MARK_AS_ADVANCED(QT_USE_FRAMEWORKS)
+  ENDIF (APPLE)
+  
+  # ask qmake for the binary dir
+  IF (NOT QT_BINARY_DIR)
+     EXEC_PROGRAM(${QT_QMAKE_EXECUTABLE}
+        ARGS "-query QT_INSTALL_BINS"
+        OUTPUT_VARIABLE qt_bins )
+     SET(QT_BINARY_DIR ${qt_bins} CACHE INTERNAL "")
+  ENDIF (NOT QT_BINARY_DIR)
+
+  # ask qmake for the include dir
+  IF (NOT QT_HEADERS_DIR)
+      EXEC_PROGRAM( ${QT_QMAKE_EXECUTABLE}
+        ARGS "-query QT_INSTALL_HEADERS" 
+        OUTPUT_VARIABLE qt_headers )
+      SET(QT_HEADERS_DIR ${qt_headers} CACHE INTERNAL "")
+  ENDIF(NOT QT_HEADERS_DIR)
+
+
+  # ask qmake for the documentation directory
+  IF (NOT QT_DOC_DIR)
+    EXEC_PROGRAM( ${QT_QMAKE_EXECUTABLE}
+      ARGS "-query QT_INSTALL_DOCS"
+      OUTPUT_VARIABLE qt_doc_dir )
+    SET(QT_DOC_DIR ${qt_doc_dir} CACHE PATH "The location of the Qt docs")
+  ENDIF (NOT QT_DOC_DIR)
+
+  # ask qmake for the mkspecs directory
+  IF (NOT QT_MKSPECS_DIR)
+    EXEC_PROGRAM( ${QT_QMAKE_EXECUTABLE}
+      ARGS "-query QMAKE_MKSPECS"
+      OUTPUT_VARIABLE qt_mkspecs_dir )
+    SET(QT_MKSPECS_DIR ${qt_mkspecs_dir} CACHE PATH "The location of the Qt mkspecs")
+  ENDIF (NOT QT_MKSPECS_DIR)
+
+  ########################################
+  #
+  #       Setting the INCLUDE-Variables
+  #
+  ########################################
+
+  FIND_PATH(QT_QTCORE_INCLUDE_DIR QtGlobal
+    "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/include/QtCore"
+    ${QT_HEADERS_DIR}/QtCore
+    ${QT_LIBRARY_DIR}/QtCore.framework/Headers
+    $ENV{QTDIR}/include/QtCore
+    "$ENV{ProgramFiles}/qt/include/Qt"
+   )
+
+  # Set QT_INCLUDE_DIR by removine "/QtCore" in the string ${QT_QTCORE_INCLUDE_DIR}
+  IF( QT_QTCORE_INCLUDE_DIR AND NOT QT_INCLUDE_DIR)
+    IF (QT_USE_FRAMEWORKS)
+      SET(QT_INCLUDE_DIR ${QT_HEADERS_DIR})
+    ELSE (QT_USE_FRAMEWORKS)
+      STRING( REGEX REPLACE "/QtCore$" "" qt4_include_dir ${QT_QTCORE_INCLUDE_DIR})
+      SET( QT_INCLUDE_DIR ${qt4_include_dir} CACHE PATH "")
+    ENDIF (QT_USE_FRAMEWORKS)
+  ENDIF( QT_QTCORE_INCLUDE_DIR AND NOT QT_INCLUDE_DIR)
+
+  IF( NOT QT_INCLUDE_DIR)
+    IF( NOT Qt4_FIND_QUIETLY AND Qt4_FIND_REQUIRED)
+      MESSAGE( FATAL_ERROR "Could NOT find QtGlobal header")
+    ENDIF( NOT Qt4_FIND_QUIETLY AND Qt4_FIND_REQUIRED)
+  ENDIF( NOT QT_INCLUDE_DIR)
+
+  #############################################
+  #
+  # Find out what window system we're using
+  #
+  #############################################
+  # Save required includes variable
+  SET(CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES})
+  # Add QT_INCLUDE_DIR to CMAKE_REQUIRED_INCLUDES
+  SET(CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES};${QT_INCLUDE_DIR}")
+  # Check for Window system symbols (note: only one should end up being set)
+  CHECK_SYMBOL_EXISTS(Q_WS_X11 "QtCore/qglobal.h" Q_WS_X11)
+  CHECK_SYMBOL_EXISTS(Q_WS_MAC "QtCore/qglobal.h" Q_WS_MAC)
+  CHECK_SYMBOL_EXISTS(Q_WS_WIN "QtCore/qglobal.h" Q_WS_WIN)
+
+  IF (QT_QTCOPY_REQUIRED)
+     CHECK_SYMBOL_EXISTS(QT_IS_QTCOPY "QtCore/qglobal.h" QT_KDE_QT_COPY)
+     IF (NOT QT_IS_QTCOPY)
+        MESSAGE(FATAL_ERROR "qt-copy is required, but hasn't been found")
+     ENDIF (NOT QT_IS_QTCOPY)
+  ENDIF (QT_QTCOPY_REQUIRED)
+
+  # Restore CMAKE_REQUIRED_INCLUDES variable
+  SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE})
+  #
+  #############################################
+
+  IF (QT_USE_FRAMEWORKS)
+    SET(QT_DEFINITIONS ${QT_DEFINITIONS} -F${QT_LIBRARY_DIR} -L${QT_LIBRARY_DIR} )
+  ENDIF (QT_USE_FRAMEWORKS)
+
+  # Set QT_QT3SUPPORT_INCLUDE_DIR
+  FIND_PATH(QT_QT3SUPPORT_INCLUDE_DIR Qt3Support
+    PATHS
+    ${QT_INCLUDE_DIR}/Qt3Support
+    ${QT_LIBRARY_DIR}/Qt3Support.framework/Headers
+    NO_DEFAULT_PATH
+    )
+
+  # Set QT_QT_INCLUDE_DIR
+  FIND_PATH(QT_QT_INCLUDE_DIR qglobal.h
+    PATHS
+    ${QT_INCLUDE_DIR}/Qt
+    ${QT_LIBRARY_DIR}/QtCore.framework/Headers
+    NO_DEFAULT_PATH
+    )
+
+  # Set QT_QTGUI_INCLUDE_DIR
+  FIND_PATH(QT_QTGUI_INCLUDE_DIR QtGui
+    PATHS
+    ${QT_INCLUDE_DIR}/QtGui
+    ${QT_LIBRARY_DIR}/QtGui.framework/Headers
+    NO_DEFAULT_PATH
+    )
+
+  # Set QT_QTSVG_INCLUDE_DIR
+  FIND_PATH(QT_QTSVG_INCLUDE_DIR QtSvg
+    PATHS
+    ${QT_INCLUDE_DIR}/QtSvg
+    ${QT_LIBRARY_DIR}/QtSvg.framework/Headers
+    NO_DEFAULT_PATH
+    )
+
+  # Set QT_QTTEST_INCLUDE_DIR
+  FIND_PATH(QT_QTTEST_INCLUDE_DIR QtTest
+    PATHS
+    ${QT_INCLUDE_DIR}/QtTest
+    ${QT_LIBRARY_DIR}/QtTest.framework/Headers
+    NO_DEFAULT_PATH
+    )
+
+  # Set QT_QTUITOOLS_INCLUDE_DIR
+  FIND_PATH(QT_QTUITOOLS_INCLUDE_DIR QtUiTools
+    PATHS
+    ${QT_INCLUDE_DIR}/QtUiTools
+    ${QT_LIBRARY_DIR}/QtUiTools.framework/Headers
+    NO_DEFAULT_PATH
+    )
+
+
+
+  # Set QT_QTMOTIF_INCLUDE_DIR
+  IF(Q_WS_X11)
+    FIND_PATH(QT_QTMOTIF_INCLUDE_DIR QtMotif PATHS ${QT_INCLUDE_DIR}/QtMotif NO_DEFAULT_PATH )
+  ENDIF(Q_WS_X11)
+
+  # Set QT_QTNETWORK_INCLUDE_DIR
+  FIND_PATH(QT_QTNETWORK_INCLUDE_DIR QtNetwork
+    PATHS
+    ${QT_INCLUDE_DIR}/QtNetwork
+    ${QT_LIBRARY_DIR}/QtNetwork.framework/Headers
+    NO_DEFAULT_PATH
+    )
+
+  # Set QT_QTNSPLUGIN_INCLUDE_DIR
+  FIND_PATH(QT_QTNSPLUGIN_INCLUDE_DIR QtNsPlugin
+    PATHS
+    ${QT_INCLUDE_DIR}/QtNsPlugin
+    ${QT_LIBRARY_DIR}/QtNsPlugin.framework/Headers
+    NO_DEFAULT_PATH
+    )
+
+  # Set QT_QTOPENGL_INCLUDE_DIR
+  FIND_PATH(QT_QTOPENGL_INCLUDE_DIR QtOpenGL
+    PATHS
+    ${QT_INCLUDE_DIR}/QtOpenGL
+    ${QT_LIBRARY_DIR}/QtOpenGL.framework/Headers
+    NO_DEFAULT_PATH
+    )
+
+  # Set QT_QTSQL_INCLUDE_DIR
+  FIND_PATH(QT_QTSQL_INCLUDE_DIR QtSql
+    PATHS
+    ${QT_INCLUDE_DIR}/QtSql
+    ${QT_LIBRARY_DIR}/QtSql.framework/Headers
+    NO_DEFAULT_PATH
+    )
+
+  # Set QT_QTXML_INCLUDE_DIR
+  FIND_PATH(QT_QTXML_INCLUDE_DIR QtXml
+    PATHS
+    ${QT_INCLUDE_DIR}/QtXml
+    ${QT_LIBRARY_DIR}/QtXml.framework/Headers
+    NO_DEFAULT_PATH
+    )
+
+  # Set QT_QTASSISTANT_INCLUDE_DIR
+  FIND_PATH(QT_QTASSISTANT_INCLUDE_DIR QtAssistant
+    PATHS
+    ${QT_INCLUDE_DIR}/QtAssistant
+    ${QT_HEADERS_DIR}/QtAssistant
+    NO_DEFAULT_PATH
+    )
+
+  # Set QT_QTDESIGNER_INCLUDE_DIR
+  FIND_PATH(QT_QTDESIGNER_INCLUDE_DIR QDesignerComponents
+    PATHS
+    ${QT_INCLUDE_DIR}/QtDesigner
+    ${QT_HEADERS_DIR}/QtDesigner
+    NO_DEFAULT_PATH
+    )
+
+  # Set QT_QTDBUS_INCLUDE_DIR
+  FIND_PATH(QT_QTDBUS_INCLUDE_DIR QtDBus
+    PATHS
+    ${QT_INCLUDE_DIR}/QtDBus
+    ${QT_HEADERS_DIR}/QtDBus
+    NO_DEFAULT_PATH
+    )
+
+  # Make variables changeble to the advanced user
+  MARK_AS_ADVANCED( QT_LIBRARY_DIR QT_INCLUDE_DIR QT_QT_INCLUDE_DIR QT_DOC_DIR)
+
+  # Set QT_INCLUDES
+  SET( QT_INCLUDES ${QT_INCLUDE_DIR} ${QT_QT_INCLUDE_DIR} ${QT_MKSPECS_DIR}/default )
+
+
+  ########################################
+  #
+  #       Setting the LIBRARY-Variables
+  #
+  ########################################
+
+  IF (QT_USE_FRAMEWORKS)
+    # If FIND_LIBRARY found libraries in Apple frameworks, we would NOT have
+    # to jump through these hoops.
+    SET(QT_QTCORE_LIBRARY_RELEASE "-F${QT_LIBRARY_DIR} -framework QtCore" CACHE STRING "The QtCore library.")
+    SET(QT_QTCORE_LIBRARY_DEBUG   "-F${QT_LIBRARY_DIR} -framework QtCore" CACHE STRING "The QtCore library.")
+    SET(QT_QT3SUPPORT_LIBRARY_RELEASE "-framework Qt3Support" CACHE STRING "The Qt3Support library.")
+    SET(QT_QT3SUPPORT_LIBRARY_DEBUG   "-framework Qt3Support" CACHE STRING "The Qt3Support library.")
+    SET(QT_QTGUI_LIBRARY_RELEASE      "-framework QtGui"      CACHE STRING "The QtGui library.")
+    SET(QT_QTGUI_LIBRARY_DEBUG        "-framework QtGui"      CACHE STRING "The QtGui library.")
+    SET(QT_QTNETWORK_LIBRARY_RELEASE  "-framework QtNetwork"  CACHE STRING "The QtNetwork library.")
+    SET(QT_QTNETWORK_LIBRARY_DEBUG    "-framework QtNetwork"  CACHE STRING "The QtNetwork library.")
+    SET(QT_QTOPENGL_LIBRARY_RELEASE   "-framework QtOpenGL"   CACHE STRING "The QtOpenGL library.")
+    SET(QT_QTOPENGL_LIBRARY_DEBUG     "-framework QtOpenGL"   CACHE STRING "The QtOpenGL library.")
+    SET(QT_QTSQL_LIBRARY_RELEASE      "-framework QtSql"      CACHE STRING "The QtSql library.")
+    SET(QT_QTSQL_LIBRARY_DEBUG        "-framework QtSql"      CACHE STRING "The QtSql library.")
+    SET(QT_QTXML_LIBRARY_RELEASE      "-framework QtXml"      CACHE STRING "The QtXml library.")
+    SET(QT_QTXML_LIBRARY_DEBUG        "-framework QtXml"      CACHE STRING "The QtXml library.")
+    SET(QT_QTSVG_LIBRARY_RELEASE      "-framework QtSvg"      CACHE STRING "The QtSvg library.")
+    SET(QT_QTSVG_LIBRARY_DEBUG        "-framework QtSvg"      CACHE STRING "The QtSvg library.")
+    SET(QT_QTDBUS_LIBRARY_RELEASE     "-framework QtDBus"     CACHE STRING "The QtDBus library.")
+    SET(QT_QTDBUS_LIBRARY_DEBUG       "-framework QtDBus"     CACHE STRING "The QtDBus library.")
+    SET(QT_QTTEST_LIBRARY_RELEASE     "-framework QtTest"     CACHE STRING "The QtTest library.")
+    SET(QT_QTTEST_LIBRARY_DEBUG       "-framework QtTest"     CACHE STRING "The QtTest library.")
+
+    # WTF?  why don't we have frameworks?  :P
+    SET(QT_QTUITOOLS_LIBRARY_RELEASE      "-L${QT_LIBRARY_DIR} -lQtUiTools"      CACHE STRING "The QtUiTools library.")
+    SET(QT_QTUITOOLS_LIBRARY_DEBUG      "-L${QT_LIBRARY_DIR} -lQtUiTools"      CACHE STRING "The QtUiTools library.")
+
+    MARK_AS_ADVANCED(QT_QT3SUPPORT_LIBRARY QT_QTGUI_LIBRARY )
+
+  ELSE (QT_USE_FRAMEWORKS)
+    
+    # Set QT_QTCORE_LIBRARY by searching for a lib with "QtCore."  as part of the filename
+    FIND_LIBRARY(QT_QTCORE_LIBRARY_RELEASE NAMES QtCore QtCore4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH )
+    FIND_LIBRARY(QT_QTCORE_LIBRARY_DEBUG NAMES QtCore_debug QtCored4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+
+    # Set QT_QT3SUPPORT_LIBRARY
+    FIND_LIBRARY(QT_QT3SUPPORT_LIBRARY_RELEASE NAMES Qt3Support Qt3Support4 PATHS ${QT_LIBRARY_DIR}        NO_DEFAULT_PATH)
+    FIND_LIBRARY(QT_QT3SUPPORT_LIBRARY_DEBUG   NAMES Qt3Support_debug Qt3Supportd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+
+    # Set QT_QTGUI_LIBRARY
+    FIND_LIBRARY(QT_QTGUI_LIBRARY_RELEASE NAMES QtGui QtGui4 PATHS ${QT_LIBRARY_DIR}        NO_DEFAULT_PATH)
+    FIND_LIBRARY(QT_QTGUI_LIBRARY_DEBUG   NAMES QtGui_debug QtGuid4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+
+    # Set QT_QTMOTIF_LIBRARY
+    IF(Q_WS_X11)
+      FIND_LIBRARY(QT_QTMOTIF_LIBRARY_RELEASE NAMES QtMotif PATHS ${QT_LIBRARY_DIR}       NO_DEFAULT_PATH)
+      FIND_LIBRARY(QT_QTMOTIF_LIBRARY_DEBUG   NAMES QtMotif_debug PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+    ENDIF(Q_WS_X11)
+
+    # Set QT_QTNETWORK_LIBRARY
+    FIND_LIBRARY(QT_QTNETWORK_LIBRARY_RELEASE NAMES QtNetwork QtNetwork4 PATHS ${QT_LIBRARY_DIR}        NO_DEFAULT_PATH)
+    FIND_LIBRARY(QT_QTNETWORK_LIBRARY_DEBUG   NAMES QtNetwork_debug QtNetworkd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+
+    # Set QT_QTNSPLUGIN_LIBRARY
+    FIND_LIBRARY(QT_QTNSPLUGIN_LIBRARY_RELEASE NAMES QtNsPlugin PATHS ${QT_LIBRARY_DIR}       NO_DEFAULT_PATH)
+    FIND_LIBRARY(QT_QTNSPLUGIN_LIBRARY_DEBUG   NAMES QtNsPlugin_debug PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+
+    # Set QT_QTOPENGL_LIBRARY
+    FIND_LIBRARY(QT_QTOPENGL_LIBRARY_RELEASE NAMES QtOpenGL QtOpenGL4 PATHS ${QT_LIBRARY_DIR}        NO_DEFAULT_PATH)
+    FIND_LIBRARY(QT_QTOPENGL_LIBRARY_DEBUG   NAMES QtOpenGL_debug QtOpenGLd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+
+    # Set QT_QTSQL_LIBRARY
+    FIND_LIBRARY(QT_QTSQL_LIBRARY_RELEASE NAMES QtSql QtSql4 PATHS ${QT_LIBRARY_DIR}        NO_DEFAULT_PATH)
+    FIND_LIBRARY(QT_QTSQL_LIBRARY_DEBUG   NAMES QtSql_debug QtSqld4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+
+    # Set QT_QTXML_LIBRARY
+    FIND_LIBRARY(QT_QTXML_LIBRARY_RELEASE NAMES QtXml QtXml4 PATHS ${QT_LIBRARY_DIR}        NO_DEFAULT_PATH)
+    FIND_LIBRARY(QT_QTXML_LIBRARY_DEBUG   NAMES QtXml_debug QtXmld4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+
+    # Set QT_QTSVG_LIBRARY
+    FIND_LIBRARY(QT_QTSVG_LIBRARY_RELEASE NAMES QtSvg QtSvg4 PATHS ${QT_LIBRARY_DIR}        NO_DEFAULT_PATH)
+    FIND_LIBRARY(QT_QTSVG_LIBRARY_DEBUG   NAMES QtSvg_debug QtSvgd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+
+    # Set QT_QTUITOOLS_LIBRARY
+    FIND_LIBRARY(QT_QTUITOOLS_LIBRARY_RELEASE NAMES QtUiTools QtUiTools4 PATHS ${QT_LIBRARY_DIR}        NO_DEFAULT_PATH)
+    FIND_LIBRARY(QT_QTUITOOLS_LIBRARY_DEBUG   NAMES QtUiTools_debug QtUiToolsd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+
+    # Set QT_QTTEST_LIBRARY
+    FIND_LIBRARY(QT_QTTEST_LIBRARY_RELEASE NAMES QtTest QtTest4 PATHS ${QT_LIBRARY_DIR}                      NO_DEFAULT_PATH)
+    FIND_LIBRARY(QT_QTTEST_LIBRARY_DEBUG   NAMES QtTest_debug QtTest_debug4 QtTestd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+
+    FIND_LIBRARY(QT_QTDBUS_LIBRARY_RELEASE NAMES QtDBus QtDBus4 PATHS ${QT_LIBRARY_DIR}                      NO_DEFAULT_PATH)
+    FIND_LIBRARY(QT_QTDBUS_LIBRARY_DEBUG   NAMES QtDBus_debug QtDBus_debug4 QtDBusd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+
+    MARK_AS_ADVANCED(QT_QT3SUPPORT_LIBRARY QT_QTGUI_LIBRARY )
+
+  ENDIF (QT_USE_FRAMEWORKS)
+
+  IF( NOT QT_QTCORE_LIBRARY_DEBUG AND NOT QT_QTCORE_LIBRARY_RELEASE )
+    IF( NOT Qt4_FIND_QUIETLY AND Qt4_FIND_REQUIRED)
+      MESSAGE( FATAL_ERROR "Could NOT find QtCore. Check CMakeFiles/CMakeError.log for more details.")
+    ENDIF( NOT Qt4_FIND_QUIETLY AND Qt4_FIND_REQUIRED)
+  ENDIF( NOT QT_QTCORE_LIBRARY_DEBUG AND NOT QT_QTCORE_LIBRARY_RELEASE )
+
+  # Set QT_QTASSISTANT_LIBRARY
+  FIND_LIBRARY(QT_QTASSISTANT_LIBRARY_RELEASE NAMES QtAssistantClient QtAssistant QtAssistant4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+  FIND_LIBRARY(QT_QTASSISTANT_LIBRARY_DEBUG   NAMES QtAssistantClientd QtAssistantClient_debug QtAssistant_debug QtAssistantd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+
+  # Set QT_QTDESIGNER_LIBRARY
+  FIND_LIBRARY(QT_QTDESIGNER_LIBRARY_RELEASE NAMES QtDesigner QtDesigner4 PATHS ${QT_LIBRARY_DIR}        NO_DEFAULT_PATH)
+  FIND_LIBRARY(QT_QTDESIGNER_LIBRARY_DEBUG   NAMES QtDesigner_debug QtDesignerd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+
+  ############################################
+  #
+  # Check the existence of the libraries.
+  #
+  ############################################
+
+  MACRO (_QT4_ADJUST_LIB_VARS basename)
+    IF (QT_${basename}_INCLUDE_DIR)
+
+      # if only the release version was found, set the debug variable also to the release version
+      IF (QT_${basename}_LIBRARY_RELEASE AND NOT QT_${basename}_LIBRARY_DEBUG)
+        SET(QT_${basename}_LIBRARY_DEBUG ${QT_${basename}_LIBRARY_RELEASE})
+        SET(QT_${basename}_LIBRARY       ${QT_${basename}_LIBRARY_RELEASE})
+        SET(QT_${basename}_LIBRARIES     ${QT_${basename}_LIBRARY_RELEASE})
+      ENDIF (QT_${basename}_LIBRARY_RELEASE AND NOT QT_${basename}_LIBRARY_DEBUG)
+
+      # if only the debug version was found, set the release variable also to the debug version
+      IF (QT_${basename}_LIBRARY_DEBUG AND NOT QT_${basename}_LIBRARY_RELEASE)
+        SET(QT_${basename}_LIBRARY_RELEASE ${QT_${basename}_LIBRARY_DEBUG})
+        SET(QT_${basename}_LIBRARY         ${QT_${basename}_LIBRARY_DEBUG})
+        SET(QT_${basename}_LIBRARIES       ${QT_${basename}_LIBRARY_DEBUG})
+      ENDIF (QT_${basename}_LIBRARY_DEBUG AND NOT QT_${basename}_LIBRARY_RELEASE)
+
+      IF (QT_${basename}_LIBRARY_DEBUG AND QT_${basename}_LIBRARY_RELEASE)
+        IF(NOT MSVC)
+        SET(QT_${basename}_LIBRARY         ${QT_${basename}_LIBRARY_RELEASE})
+        ELSE(NOT MSVC)
+          SET(QT_${basename}_LIBRARY       optimized ${QT_${basename}_LIBRARY_RELEASE} debug ${QT_${basename}_LIBRARY_DEBUG})
+        ENDIF(NOT MSVC)
+        SET(QT_${basename}_LIBRARIES       optimized ${QT_${basename}_LIBRARY_RELEASE} debug ${QT_${basename}_LIBRARY_DEBUG})
+      ENDIF (QT_${basename}_LIBRARY_DEBUG AND QT_${basename}_LIBRARY_RELEASE)
+
+      SET(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY} CACHE FILEPATH "The Qt ${basename} library")
+
+      IF (QT_${basename}_LIBRARY)
+        SET(QT_${basename}_FOUND 1)
+      ENDIF (QT_${basename}_LIBRARY)
+
+      #add the include directory to QT_INCLUDES
+      SET(QT_INCLUDES ${QT_INCLUDES} "${QT_${basename}_INCLUDE_DIR}")
+    ENDIF (QT_${basename}_INCLUDE_DIR )
+
+    # Make variables changeble to the advanced user
+    MARK_AS_ADVANCED(QT_${basename}_LIBRARY QT_${basename}_LIBRARY_RELEASE QT_${basename}_LIBRARY_DEBUG QT_${basename}_INCLUDE_DIR)
+  ENDMACRO (_QT4_ADJUST_LIB_VARS)
+
+  IF(WIN32)
+     _QT4_ADJUST_LIB_VARS(QTMAIN)
+  ENDIF(WIN32)
+
+
+  _QT4_ADJUST_LIB_VARS(QTCORE)
+  _QT4_ADJUST_LIB_VARS(QTGUI)
+  _QT4_ADJUST_LIB_VARS(QT3SUPPORT)
+  _QT4_ADJUST_LIB_VARS(QTASSISTANT)
+  _QT4_ADJUST_LIB_VARS(QTDESIGNER)
+  IF(Q_WS_X11)
+    _QT4_ADJUST_LIB_VARS(QTMOTIF)
+  ENDIF(Q_WS_X11)
+  _QT4_ADJUST_LIB_VARS(QTNETWORK)
+  _QT4_ADJUST_LIB_VARS(QTNSPLUGIN)
+  _QT4_ADJUST_LIB_VARS(QTOPENGL)
+  _QT4_ADJUST_LIB_VARS(QTSQL)
+  _QT4_ADJUST_LIB_VARS(QTXML)
+  _QT4_ADJUST_LIB_VARS(QTSVG)
+  _QT4_ADJUST_LIB_VARS(QTUITOOLS)
+  _QT4_ADJUST_LIB_VARS(QTTEST)
+  _QT4_ADJUST_LIB_VARS(QTDBUS)
+
+  #######################################
+  #
+  #       Check the executables of Qt 
+  #          ( moc, uic, rcc )
+  #
+  #######################################
+
+
+   # find moc and uic using qmake
+   FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/CMakeTmpQmake/tmp.pro
+    "message(MOC<$$QMAKE_MOC>)
+      message(UIC<$$QMAKE_UIC>)
+   ")
+
+   EXECUTE_PROCESS(COMMAND ${QT_QMAKE_EXECUTABLE}
+      WORKING_DIRECTORY  ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/CMakeTmpQmake
+      OUTPUT_VARIABLE _moc_OUTPUT
+      ERROR_VARIABLE _moc_OUTPUT )
+   FILE(REMOVE_RECURSE "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/CMakeTmpQmake")
+
+   STRING(REGEX REPLACE ".*MOC<([^>]+).*" "\\1" QT_MOC_EXECUTABLE_INTERNAL "${_moc_OUTPUT}" )
+   STRING(REGEX REPLACE ".*UIC<([^>]+).*" "\\1" QT_UIC_EXECUTABLE_INTERNAL "${_moc_OUTPUT}" )
+
+   FILE(TO_CMAKE_PATH "${QT_MOC_EXECUTABLE_INTERNAL}" QT_MOC_EXECUTABLE_INTERNAL)
+   FILE(TO_CMAKE_PATH "${QT_UIC_EXECUTABLE_INTERNAL}" QT_UIC_EXECUTABLE_INTERNAL)
+
+   SET(QT_MOC_EXECUTABLE ${QT_MOC_EXECUTABLE_INTERNAL} CACHE FILEPATH "The moc executable")
+   SET(QT_UIC_EXECUTABLE ${QT_UIC_EXECUTABLE_INTERNAL} CACHE FILEPATH "The uic executable")
+
+  FIND_PROGRAM(QT_UIC3_EXECUTABLE
+    NAMES uic3
+    PATHS ${QT_BINARY_DIR}
+    NO_DEFAULT_PATH
+    )
+
+  FIND_PROGRAM(QT_RCC_EXECUTABLE 
+    NAMES rcc
+    PATHS ${QT_BINARY_DIR}
+    NO_DEFAULT_PATH
+    )
+
+  FIND_PROGRAM(QT_DBUSCPP2XML_EXECUTABLE 
+    NAMES qdbuscpp2xml
+    PATHS ${QT_BINARY_DIR}
+    NO_DEFAULT_PATH
+    )
+
+  FIND_PROGRAM(QT_DBUSXML2CPP_EXECUTABLE 
+    NAMES qdbusxml2cpp
+    PATHS ${QT_BINARY_DIR}
+    NO_DEFAULT_PATH
+    )
+
+  IF (QT_MOC_EXECUTABLE)
+     SET(QT_WRAP_CPP "YES")
+  ENDIF (QT_MOC_EXECUTABLE)
+
+  IF (QT_UIC_EXECUTABLE)
+     SET(QT_WRAP_UI "YES")
+  ENDIF (QT_UIC_EXECUTABLE)
+
+
+
+  MARK_AS_ADVANCED( QT_UIC_EXECUTABLE QT_UIC3_EXECUTABLE QT_MOC_EXECUTABLE QT_RCC_EXECUTABLE )
+
+  ######################################
+  #
+  #       Macros for building Qt files
+  #
+  ######################################
+
+  MACRO (QT4_GET_MOC_INC_DIRS _moc_INC_DIRS)
+     SET(${_moc_INC_DIRS})
+     GET_DIRECTORY_PROPERTY(_inc_DIRS INCLUDE_DIRECTORIES)
+
+     FOREACH(_current ${_inc_DIRS})
+        SET(${_moc_INC_DIRS} ${${_moc_INC_DIRS}} "-I" ${_current})
+     ENDFOREACH(_current ${_inc_DIRS})
+  ENDMACRO(QT4_GET_MOC_INC_DIRS)
+
+
+  MACRO (QT4_GENERATE_MOC infile outfile )
+  # get include dirs
+     QT4_GET_MOC_INC_DIRS(moc_includes)
+
+     GET_FILENAME_COMPONENT(abs_infile ${infile} ABSOLUTE)
+
+     ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
+        COMMAND ${QT_MOC_EXECUTABLE}
+        ARGS ${moc_includes} -o ${outfile} ${abs_infile}
+        DEPENDS ${abs_infile})
+
+     SET_SOURCE_FILES_PROPERTIES(${outfile} PROPERTIES SKIP_AUTOMOC TRUE)  # dont run automoc on this file
+
+     MACRO_ADD_FILE_DEPENDENCIES(${abs_infile} ${outfile})
+  ENDMACRO (QT4_GENERATE_MOC)
+
+
+  # QT4_WRAP_CPP(outfiles inputfile ... )
+  # TODO  perhaps add support for -D, -U and other minor options
+
+  MACRO (QT4_WRAP_CPP outfiles )
+    # get include dirs
+    QT4_GET_MOC_INC_DIRS(moc_includes)
+
+    FOREACH (it ${ARGN})
+      GET_FILENAME_COMPONENT(it ${it} ABSOLUTE)
+      GET_FILENAME_COMPONENT(outfile ${it} NAME_WE)
+
+      SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/moc_${outfile}.cxx)
+      ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
+        COMMAND ${QT_MOC_EXECUTABLE}
+        ARGS ${moc_includes} -o ${outfile} ${it}
+        DEPENDS ${it})
+      SET(${outfiles} ${${outfiles}} ${outfile})
+    ENDFOREACH(it)
+
+  ENDMACRO (QT4_WRAP_CPP)
+
+
+  # QT4_WRAP_UI(outfiles inputfile ... )
+
+  MACRO (QT4_WRAP_UI outfiles )
+
+    FOREACH (it ${ARGN})
+      GET_FILENAME_COMPONENT(outfile ${it} NAME_WE)
+      GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
+      SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${outfile}.h)
+      ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
+        COMMAND ${QT_UIC_EXECUTABLE}
+        ARGS -o ${outfile} ${infile}
+        MAIN_DEPENDENCY ${infile})
+      SET(${outfiles} ${${outfiles}} ${outfile})
+    ENDFOREACH (it)
+
+  ENDMACRO (QT4_WRAP_UI)
+
+
+  # QT4_ADD_RESOURCE(outfiles inputfile ... )
+  # TODO  perhaps consider adding support for compression and root options to rcc
+
+  MACRO (QT4_ADD_RESOURCES outfiles )
+
+    FOREACH (it ${ARGN})
+      GET_FILENAME_COMPONENT(outfilename ${it} NAME_WE)
+      GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
+      SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${outfilename}.cxx)
+      ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
+        COMMAND ${QT_RCC_EXECUTABLE}
+        ARGS -name ${outfilename} -o ${outfile} ${infile}
+        MAIN_DEPENDENCY ${infile} )
+      SET(${outfiles} ${${outfiles}} ${outfile})
+    ENDFOREACH (it)
+
+  ENDMACRO (QT4_ADD_RESOURCES)
+
+
+  MACRO(QT4_ADD_DBUS_INTERFACE _sources _interface _basename)
+    GET_FILENAME_COMPONENT(_infile ${_interface} ABSOLUTE)
+    SET(_header ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h)
+    SET(_impl   ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp)
+    SET(_moc    ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc)
+  
+    ADD_CUSTOM_COMMAND(OUTPUT ${_impl} ${_header}
+        COMMAND ${QT_DBUSXML2CPP_EXECUTABLE} -m -p ${_basename} ${_infile}
+        DEPENDS ${_infile})
+  
+    SET_SOURCE_FILES_PROPERTIES(${_impl} PROPERTIES SKIP_AUTOMOC TRUE)
+    
+    QT4_GENERATE_MOC(${_header} ${_moc})
+  
+    SET(${_sources} ${${_sources}} ${_impl} ${_header} ${_moc})
+    MACRO_ADD_FILE_DEPENDENCIES(${_impl} ${_moc})
+  
+  ENDMACRO(QT4_ADD_DBUS_INTERFACE)
+  
+  
+  MACRO(QT4_ADD_DBUS_INTERFACES _sources)
+     FOREACH (_current_FILE ${ARGN})
+        GET_FILENAME_COMPONENT(_infile ${_current_FILE} ABSOLUTE)
+  
+  # get the part before the ".xml" suffix
+        STRING(REGEX REPLACE "(.*[/\\.])?([^\\.]+)\\.xml" "\\2" _basename ${_current_FILE})
+        STRING(TOLOWER ${_basename} _basename)
+  
+        QT4_ADD_DBUS_INTERFACE(${_sources} ${_infile} ${_basename}interface)
+     ENDFOREACH (_current_FILE)
+  ENDMACRO(QT4_ADD_DBUS_INTERFACES)
+  
+  
+  MACRO(QT4_GENERATE_DBUS_INTERFACE _header)
+    GET_FILENAME_COMPONENT(_in_file ${_header} ABSOLUTE)
+    GET_FILENAME_COMPONENT(_basename ${_header} NAME_WE)
+    SET(_target ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.xml)
+  
+    ADD_CUSTOM_COMMAND(OUTPUT ${_target}
+        COMMAND ${QT_DBUSCPP2XML_EXECUTABLE} ${_in_file} > ${_target}
+        DEPENDS ${_in_file}
+    )
+  ENDMACRO(QT4_GENERATE_DBUS_INTERFACE)
+  
+  
+  MACRO(QT4_ADD_DBUS_ADAPTOR _sources _xml_file _include _parentClass)
+    GET_FILENAME_COMPONENT(_infile ${_xml_file} ABSOLUTE)
+    
+    SET(_optionalBasename "${ARGV4}")
+    IF (_optionalBasename)
+       SET(_basename ${_optionalBasename} )
+    ELSE (_optionalBasename)
+       STRING(REGEX REPLACE "(.*[/\\.])?([^\\.]+)\\.xml" "\\2adaptor" _basename ${_infile})
+       STRING(TOLOWER ${_basename} _basename)
+    ENDIF (_optionalBasename)
+
+    SET(_optionalClassName "${ARGV5}")
+       SET(_header ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h)
+    SET(_impl   ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp)
+    SET(_moc    ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc)
+       
+       IF(_optionalClassName)
+       ADD_CUSTOM_COMMAND(OUTPUT ${_impl} ${_header}
+          COMMAND ${QT_DBUSXML2CPP_EXECUTABLE} -m -a ${_basename} -c ${_optionalClassName} -i ${_include} -l ${_parentClass} ${_infile}
+          DEPENDS ${_infile}
+        )                      
+       ELSE(_optionalClassName)
+       ADD_CUSTOM_COMMAND(OUTPUT ${_impl} ${_header}
+          COMMAND ${QT_DBUSXML2CPP_EXECUTABLE} -m -a ${_basename} -i ${_include} -l ${_parentClass} ${_infile}
+          DEPENDS ${_infile}
+        )
+       ENDIF(_optionalClassName)
+
+    QT4_GENERATE_MOC(${_header} ${_moc})
+    SET_SOURCE_FILES_PROPERTIES(${_impl} PROPERTIES SKIP_AUTOMOC TRUE)
+    MACRO_ADD_FILE_DEPENDENCIES(${_impl} ${_moc})
+
+    SET(${_sources} ${${_sources}} ${_impl} ${_header} ${_moc})
+  ENDMACRO(QT4_ADD_DBUS_ADAPTOR)
+
+  MACRO(QT4_ADD_DBUS_ADAPTORS _sources)
+    message(FATAL_ERROR "There is a call to QT4_ADD_DBUS_ADAPTORS() in the CMakeLists.txt for '${ARGV0}', but this macro has been removed, please use QT4_ADD_DBUS_ADAPTOR and specify the include file and classname for the parent object implementing the code")
+  ENDMACRO(QT4_ADD_DBUS_ADAPTORS _sources)
+
+   MACRO(QT4_AUTOMOC)
+      QT4_GET_MOC_INC_DIRS(_moc_INCS)
+
+      SET(_matching_FILES )
+      FOREACH (_current_FILE ${ARGN})
+
+         GET_FILENAME_COMPONENT(_abs_FILE ${_current_FILE} ABSOLUTE)
+         # if "SKIP_AUTOMOC" is set to true, we will not handle this file here.
+         # here. this is required to make bouic work correctly:
+         # we need to add generated .cpp files to the sources (to compile them),
+         # but we cannot let automoc handle them, as the .cpp files don't exist yet when
+         # cmake is run for the very first time on them -> however the .cpp files might
+         # exist at a later run. at that time we need to skip them, so that we don't add two
+         # different rules for the same moc file
+         GET_SOURCE_FILE_PROPERTY(_skip ${_abs_FILE} SKIP_AUTOMOC)
+
+         IF ( NOT _skip AND EXISTS ${_abs_FILE} )
+
+            FILE(READ ${_abs_FILE} _contents)
+
+            GET_FILENAME_COMPONENT(_abs_PATH ${_abs_FILE} PATH)
+
+            STRING(REGEX MATCHALL "#include +[^ ]+\\.moc[\">]" _match "${_contents}")
+            IF(_match)
+               FOREACH (_current_MOC_INC ${_match})
+                  STRING(REGEX MATCH "[^ <\"]+\\.moc" _current_MOC "${_current_MOC_INC}")
+
+                  GET_filename_component(_basename ${_current_MOC} NAME_WE)
+   #               SET(_header ${CMAKE_CURRENT_SOURCE_DIR}/${_basename}.h)
+                  SET(_header ${_abs_PATH}/${_basename}.h)
+                  SET(_moc    ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC})
+                  ADD_CUSTOM_COMMAND(OUTPUT ${_moc}
+                     COMMAND ${QT_MOC_EXECUTABLE}
+                     ARGS ${_moc_INCS} ${_header} -o ${_moc}
+                     DEPENDS ${_header}
+                  )
+
+                  MACRO_ADD_FILE_DEPENDENCIES(${_abs_FILE} ${_moc})
+               ENDFOREACH (_current_MOC_INC)
+            ENDIF(_match)
+         ENDIF ( NOT _skip AND EXISTS ${_abs_FILE} )
+      ENDFOREACH (_current_FILE)
+   ENDMACRO(QT4_AUTOMOC)
+
+
+
+  ######################################
+  #
+  #       decide if Qt got found
+  #
+  ######################################
+
+  # if the includes,libraries,moc,uic and rcc are found then we have it
+  IF( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE)
+    SET( QT4_FOUND "YES" )
+    IF( NOT Qt4_FIND_QUIETLY)
+      MESSAGE(STATUS "Found Qt-Version ${QTVERSION}")
+    ENDIF( NOT Qt4_FIND_QUIETLY)
+  ELSE( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE)
+    SET( QT4_FOUND "NO")
+    SET(QT_QMAKE_EXECUTABLE "${QT_QMAKE_EXECUTABLE}-NOTFOUND" CACHE FILEPATH "Invalid qmake found" FORCE)
+    IF( Qt4_FIND_REQUIRED)
+      IF ( NOT QT_LIBRARY_DIR )
+       MESSAGE(STATUS "Qt libraries NOT found!")
+      ENDIF(NOT QT_LIBRARY_DIR )
+      IF ( NOT QT_INCLUDE_DIR )
+       MESSAGE(STATUS "Qt includes NOT found!")
+      ENDIF( NOT QT_INCLUDE_DIR )
+      IF ( NOT QT_MOC_EXECUTABLE )
+        MESSAGE(STATUS "Qt's moc NOT found!")
+      ENDIF( NOT QT_MOC_EXECUTABLE )
+      IF ( NOT QT_UIC_EXECUTABLE )
+        MESSAGE(STATUS "Qt's uic NOT found!")
+      ENDIF( NOT QT_UIC_EXECUTABLE )
+      IF ( NOT QT_RCC_EXECUTABLE )
+        MESSAGE(STATUS "Qt's rcc NOT found!")
+      ENDIF( NOT QT_RCC_EXECUTABLE )
+      MESSAGE( FATAL_ERROR "Qt libraries, includes, moc, uic or/and rcc NOT found!")
+    ENDIF( Qt4_FIND_REQUIRED)
+  ENDIF( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND QT_UIC_EXECUTABLE AND  QT_RCC_EXECUTABLE)
+  SET(QT_FOUND ${QT4_FOUND})
+
+
+  #######################################
+  #
+  #       System dependent settings  
+  #
+  #######################################
+  # for unix add X11 stuff
+  IF(UNIX)
+    # on OS X X11 may not be required
+    IF (Q_WS_X11)
+    FIND_PACKAGE(X11)
+    ENDIF (Q_WS_X11)
+    FIND_PACKAGE(Threads)
+    SET(QT_QTCORE_LIBRARY ${QT_QTCORE_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
+  ENDIF(UNIX)
+
+
+  #######################################
+  #
+  #       compatibility settings 
+  #
+  #######################################
+  # Backwards compatibility for CMake1.4 and 1.2
+  SET (QT_MOC_EXE ${QT_MOC_EXECUTABLE} )
+  SET (QT_UIC_EXE ${QT_UIC_EXECUTABLE} )
+
+  SET( QT_QT_LIBRARY "")
+
+ELSE(QT4_QMAKE_FOUND)
+   
+   SET(QT_QMAKE_EXECUTABLE "${QT_QMAKE_EXECUTABLE}-NOTFOUND" CACHE FILEPATH "Invalid qmake found" FORCE)
+   IF(Qt4_FIND_REQUIRED)
+      IF(QT4_INSTALLED_VERSION_TOO_OLD)
+         MESSAGE(FATAL_ERROR "The installed Qt version ${QTVERSION} is too old, at least version ${QT_MIN_VERSION} is required")
+      ELSE(QT4_INSTALLED_VERSION_TOO_OLD)
+         MESSAGE( FATAL_ERROR "Qt qmake not found!")
+      ENDIF(QT4_INSTALLED_VERSION_TOO_OLD)
+   ELSE(Qt4_FIND_REQUIRED)
+      IF(QT4_INSTALLED_VERSION_TOO_OLD AND NOT Qt4_FIND_QUIETLY)
+         MESSAGE(STATUS "The installed Qt version ${QTVERSION} is too old, at least version ${QT_MIN_VERSION} is required")
+      ENDIF(QT4_INSTALLED_VERSION_TOO_OLD AND NOT Qt4_FIND_QUIETLY)
+   ENDIF(Qt4_FIND_REQUIRED)
+ENDIF (QT4_QMAKE_FOUND)
+
diff --git a/cmake/modules/UsePkgConfig.cmake b/cmake/modules/UsePkgConfig.cmake
new file mode 100644 (file)
index 0000000..9a15015
--- /dev/null
@@ -0,0 +1,137 @@
+# - pkg-config module for CMake
+#
+# Defines the following macros:
+#
+#  PKGCONFIG_FOUND(package found)
+#  PKGCONFIG(package includedir libdir linkflags cflags)
+#  PKGCONFIG_VERSION(package version)
+#  PKGCONFIG_DEFINITION(package definition)
+
+# Calling PKGCONFIG_FOUND will fill into the argument the value of the package search's result
+# e.g. PKGCONFIG_FOUND(libart-2.0 LIBART_FOUND)
+#
+# Calling PKGCONFIG_VERSION will fill the desired version into the argument,
+# e.g. PKGCONFIG_VERSION(libart-2.0 LIBART_VERSION)
+# Calling PKGCONFIG will fill the desired information into the 4 given arguments,
+# e.g. PKGCONFIG(libart-2.0 LIBART_INCLUDE_DIR LIBART_LINK_DIR LIBART_LINK_FLAGS LIBART_CFLAGS)
+# if pkg-config was NOT found or the specified software package doesn't exist, the
+# variable will be empty when the function returns, otherwise they will contain the respective information
+#
+# Calling PKGCONFIG_VERSION will fill the desired version into the argument,
+# e.g. PKGCONFIG_VERSION(libart-2.0 LIBART_VERSION)
+#
+# Calling PKGCONFIG_DEFINITION will fill the definition (e.g -D_REENTRANT) into the argument,
+# e.g. PKGCONFIG_DEFINITION(libart-2.0 LIBART_DEFINITION)
+
+FIND_PROGRAM(PKGCONFIG_EXECUTABLE NAMES pkg-config PATHS /usr/local/bin )
+
+MACRO(PKGCONFIG _package _include_DIR _link_DIR _link_FLAGS _cflags)
+# reset the variables at the beginning
+  SET(${_include_DIR})
+  SET(${_link_DIR})
+  SET(${_link_FLAGS})
+  SET(${_cflags})
+
+# if pkg-config has been found
+  IF(PKGCONFIG_EXECUTABLE)
+
+    EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --exists RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull )
+
+# and if the package of interest also exists for pkg-config, then get the information
+    IF(NOT _return_VALUE)
+
+      EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --variable=includedir OUTPUT_VARIABLE ${_include_DIR} )
+
+      EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --variable=libdir OUTPUT_VARIABLE ${_link_DIR} )
+
+      EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --libs OUTPUT_VARIABLE ${_link_FLAGS} )
+
+      EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --cflags OUTPUT_VARIABLE ${_cflags} )
+
+    ENDIF(NOT _return_VALUE)
+
+  ENDIF(PKGCONFIG_EXECUTABLE)
+
+ENDMACRO(PKGCONFIG _include_DIR _link_DIR _link_FLAGS _cflags)
+
+
+
+MACRO(PKGCONFIG_FOUND _package _pkgpath _found)
+  # reset the variable at the beginning
+  SET(${_found})
+
+# if pkg-config has been found
+  IF(PKGCONFIG_EXECUTABLE)
+    SET(ENV{PKG_CONFIG_PATH} ${_pkgpath})
+    EXECUTE_PROCESS(COMMAND ${PKGCONFIG_EXECUTABLE} --print-errors --exists ${_package} RESULT_VARIABLE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull )
+    
+    IF(${_pkgconfigDevNull})
+      MESSAGE(STATUS "${_pkgconfigDevNull}")
+    ENDIF(${_pkgconfigDevNull})
+    
+    IF(NOT _return_VALUE)
+      SET(${_found} "TRUE")
+    ENDIF(NOT _return_VALUE)
+  ENDIF(PKGCONFIG_EXECUTABLE)
+
+ENDMACRO(PKGCONFIG_FOUND _package _pkgpath _found)
+
+
+#TODO: doesn't work when pkgconfig returns multiples inlude path
+MACRO(PKGCONFIG_INCLUDE_DIRS _package _pkgpath _include_dirs)
+# reset the variable at the beginning
+  SET(${_include_dirs})
+  IF(PKGCONFIG_EXECUTABLE)
+    SET(ENV{PKG_CONFIG_PATH} ${_pkgpath})
+    EXECUTE_PROCESS(COMMAND ${PKGCONFIG_EXECUTABLE} --cflags-only-I ${_package} OUTPUT_VARIABLE include)
+    STRING(REGEX REPLACE "-I/" "/" _include_dirs_temp ${include})
+    STRING(REGEX REPLACE "[\n\r]" "" ${_include_dirs} ${_include_dirs_temp})
+    #When the include directory is /usr/include, pkgconfig returns a space and a new line
+    IF("${_include_dirs}" STREQUAL " ")
+      SET(${_include_dirs} "/usr/include")
+    ENDIF("${_include_dirs}" STREQUAL " ")
+  ENDIF(PKGCONFIG_EXECUTABLE)
+ENDMACRO(PKGCONFIG_INCLUDE_DIRS _package _pkgpath _include_dirs)
+
+MACRO(PKGCONFIG_LIBRARY_DIR _package _pkgpath _library_dir)
+# reset the variable at the beginning
+  SET(${_library_dir})
+  IF(PKGCONFIG_EXECUTABLE)
+    SET(ENV{PKG_CONFIG_PATH} ${_pkgpath})
+    EXECUTE_PROCESS(COMMAND ${PKGCONFIG_EXECUTABLE} --libs-only-L ${_package} OUTPUT_VARIABLE libraries)
+    STRING(REGEX REPLACE "-L/" "/" _library_dirs_temp ${libraries})
+    MESSAGE(STATUS "lib dir ${_library_dirs_temp} end")
+    STRING(REGEX REPLACE "[\r\n]" "" ${_library_dir} ${_library_dirs_temp})
+    #When the library directory is /usr/lib, pkgconfig returns an empty stringand a new line
+    IF("${_library_dir}" STREQUAL " ")
+      SET(${_library_dir} "/usr/lib")
+    ENDIF("${_library_dir}" STREQUAL " ")
+    MESSAGE(STATUS "lib dir ${${_library_dir}} end")
+  ENDIF(PKGCONFIG_EXECUTABLE)
+ENDMACRO(PKGCONFIG_LIBRARY_DIR _package _pkgpath _library_dir)
+
+MACRO(PKGCONFIG_VERSION _package _pkgpath _version)
+# reset the variable at the beginning
+  SET(${_version})
+
+  IF(PKGCONFIG_EXECUTABLE)
+    SET(ENV{PKG_CONFIG_PATH} ${_pkgpath})
+    EXECUTE_PROCESS(COMMAND ${PKGCONFIG_EXECUTABLE} --modversion ${_package} OUTPUT_VARIABLE version)
+    STRING(REGEX REPLACE "[\n\r]" "" ${_version} ${version})
+  ENDIF(PKGCONFIG_EXECUTABLE)
+
+ENDMACRO(PKGCONFIG_VERSION _package _pkgpath _version)
+
+MACRO(PKGCONFIG_DEFINITION _package _pkgpath _definition)
+# reset the variable at the beginning
+  SET(${_definition})
+
+  IF(PKGCONFIG_EXECUTABLE)
+    SET(ENV{PKG_CONFIG_PATH} ${_pkgpath})
+    EXECUTE_PROCESS(COMMAND ${PKGCONFIG_EXECUTABLE} --cflags-only-other ${_package} OUTPUT_VARIABLE definition)
+    STRING(REGEX REPLACE "[\n\r]" "" ${_definition} ${definition})
+  ENDIF(PKGCONFIG_EXECUTABLE)
+
+ENDMACRO(PKGCONFIG_DEFINITION _package _pkgpath _definition)
+
+MARK_AS_ADVANCED(PKGCONFIG_EXECUTABLE)
index 577d7f290177dfa00c89c80d61249f93561ad343..701b535e16ed3135d2ddb5761a77ad38c3fae878 100644 (file)
 /* cmakeconfig.h.in */
 
 /* Directory for data */
-#cmakedefine DATAFILE_DIR
+#define DATAFILE_DIR "@CMAKE_INSTALL_PREFIX@/share/@CPACK_PACKAGE_NAME@"
 
 /* Link plugins statically into Wireshark */
-#cmakedefine ENABLE_STATIC
+#cmakedefine ENABLE_STATIC 1
 
 /* Define to 1 if you have the <arpa/inet.h> header file. */
-#cmakedefine HAVE_ARPA_INET_H
+#cmakedefine HAVE_ARPA_INET_H 1
 
 /* Define to 1 if you have the <arpa/nameser.h> header file. */
-#cmakedefine HAVE_ARPA_NAMESER_H
+#cmakedefine HAVE_ARPA_NAMESER_H 1
 
 /* Define to 1 if you have the <direct.h> header file. */
-#cmakedefine HAVE_DIRECT_H
+#cmakedefine HAVE_DIRECT_H 1
 
 /* Define to 1 if you have the <dirent.h> header file. */
-#cmakedefine HAVE_DIRENT_H
+#cmakedefine HAVE_DIRENT_H 1
 
 /* Define to 1 if you have the <dlfcn.h> header file. */
-#cmakedefine HAVE_DLFCN_H
+#cmakedefine HAVE_DLFCN_H 1
 
 /* Define to 1 if you have the <fcntl.h> header file. */
-#cmakedefine HAVE_FCNTL_H
+#cmakedefine HAVE_FCNTL_H 1
 
 /* Define to 1 if you have the `gethostbyname2' function. */
-#cmakedefine HAVE_GETHOSTBYNAME2
+#cmakedefine HAVE_GETHOSTBYNAME2 1
 
 /* Define to 1 if you have the `getprotobynumber' function. */
-#cmakedefine HAVE_GETPROTOBYNUMBER
+#cmakedefine HAVE_GETPROTOBYNUMBER 1
 
 /* Define to use GNU ADNS library */
-#cmakedefine HAVE_GNU_ADNS
+#cmakedefine HAVE_GNU_ADNS 1
 
 /* Define to use heimdal kerberos */
-#cmakedefine HAVE_HEIMDAL_KERBEROS
+#cmakedefine HAVE_HEIMDAL_KERBEROS 1
 
 /* Define if you have the iconv() function. */
-#cmakedefine HAVE_ICONV
+#cmakedefine HAVE_ICONV 1
 
 /* Define if inet_ntop() prototype exists */
-#cmakedefine HAVE_INET_NTOP_PROTO
+#cmakedefine HAVE_INET_NTOP_PROTO 1
 
 /* Define to 1 if you have the <inttypes.h> header file. */
-#cmakedefine HAVE_INTTYPES_H
+#cmakedefine HAVE_INTTYPES_H 1
 
 /* Define to 1 if you have the `issetugid' function. */
-#cmakedefine HAVE_ISSETUGID
+#cmakedefine HAVE_ISSETUGID 1
 
 /* Define to use kerberos */
-#cmakedefine HAVE_KERBEROS
+#cmakedefine HAVE_KERBEROS 1
 
 /* Define if krb5.h defines KEYTYPE_ARCFOUR_56 */
-#cmakedefine HAVE_KEYTYPE_ARCFOUR_56
+#cmakedefine HAVE_KEYTYPE_ARCFOUR_56 1
 
 /* Define to 1 if you have the <lauxlib.h> header file. */
-#cmakedefine HAVE_LAUXLIB_H
+#cmakedefine HAVE_LAUXLIB_H 1
 
 /* Define to use libgcrypt */
-#cmakedefine HAVE_LIBGCRYPT
+#cmakedefine HAVE_LIBGCRYPT 1
 
 /* Define to use gnutls library */
-#cmakedefine HAVE_LIBGNUTLS
+#cmakedefine HAVE_LIBGNUTLS 1
 
 /* Define to use libpcap library */
-#cmakedefine HAVE_LIBPCAP
+#cmakedefine HAVE_LIBPCAP 1
 
 /* Define to use libpcre library */
-#cmakedefine HAVE_LIBPCRE
+#cmakedefine HAVE_LIBPCRE 1
+
+/* Define to use dbus-glib library */
+#cmakedefine HAVE_LIBDBUS 1
 
 /* Define to use libportaudio library */
-#cmakedefine HAVE_LIBPORTAUDIO
+#cmakedefine HAVE_LIBPORTAUDIO 1
 
 /* Define to use libz library */
-#cmakedefine HAVE_LIBZ
+#cmakedefine HAVE_LIBZ 1
 
 /* Define to 1 if you have the <lua5.1/lauxlib.h> header file. */
-#cmakedefine HAVE_LUA5_1_LAUXLIB_H
+#cmakedefine HAVE_LUA5_1_LAUXLIB_H 1
 
 /* Define to 1 if you have the <lua5.1/lualib.h> header file. */
-#cmakedefine HAVE_LUA5_1_LUALIB_H
+#cmakedefine HAVE_LUA5_1_LUALIB_H 1
 
 /* Define to 1 if you have the <lua5.1/lua.h> header file. */
-#cmakedefine HAVE_LUA5_1_LUA_H
+#cmakedefine HAVE_LUA5_1_LUA_H 1
 
 /* Define to 1 if you have the <lualib.h> header file. */
-#cmakedefine HAVE_LUALIB_H
+#cmakedefine HAVE_LUALIB_H 1
 
 /* Define to use Lua 5.1 */
-#cmakedefine HAVE_LUA_5_1
+#cmakedefine HAVE_LUA_5_1 1
 
 /* Define to 1 if you have the <lua.h> header file. */
-#cmakedefine HAVE_LUA_H
+#cmakedefine HAVE_LUA_H 1
 
 /* Define to 1 if you have the <memory.h> header file. */
-#cmakedefine HAVE_MEMORY_H
+#cmakedefine HAVE_MEMORY_H 1
 
 /* Define to use MIT kerberos */
-#cmakedefine HAVE_MIT_KERBEROS
+#cmakedefine HAVE_MIT_KERBEROS 1
 
 /* Define to 1 if you have the `mmap' function. */
-#cmakedefine HAVE_MMAP
+#cmakedefine HAVE_MMAP 1
 
 /* Define to 1 if you have the `mprotect' function. */
-#cmakedefine HAVE_MPROTECT
+#cmakedefine HAVE_MPROTECT 1
 
 /* Define to 1 if you have the <netdb.h> header file. */
-#cmakedefine HAVE_NETDB_H
+#cmakedefine HAVE_NETDB_H 1
 
 /* Define to 1 if you have the <netinet/in.h> header file. */
-#cmakedefine HAVE_NETINET_IN_H
+#cmakedefine HAVE_NETINET_IN_H 1
 
 /* Define to enable support for Net-SNMP */
-#cmakedefine HAVE_NET_SNMP
+#cmakedefine HAVE_NET_SNMP 1
 
 /* Define to 1 if you have the <net-snmp/library/default_store.h> header file.
    */
-#cmakedefine HAVE_NET_SNMP_LIBRARY_DEFAULT_STORE_H
+#cmakedefine HAVE_NET_SNMP_LIBRARY_DEFAULT_STORE_H 1
 
 /* Define to 1 if you have the <net-snmp/net-snmp-config.h> header file. */
-#cmakedefine HAVE_NET_SNMP_NET_SNMP_CONFIG_H
+#cmakedefine HAVE_NET_SNMP_NET_SNMP_CONFIG_H 1
 
 /* Define to 1 if you have OS X frameworks */
-#cmakedefine HAVE_OS_X_FRAMEWORKS
+#cmakedefine HAVE_OS_X_FRAMEWORKS 1
 
 /* Define to 1 if you have the `pcap_breakloop' function. */
-#cmakedefine HAVE_PCAP_BREAKLOOP
+#cmakedefine HAVE_PCAP_BREAKLOOP 1
 
 /* Define to 1 if you have the `pcap_datalink_name_to_val' function. */
-#cmakedefine HAVE_PCAP_DATALINK_NAME_TO_VAL
+#cmakedefine HAVE_PCAP_DATALINK_NAME_TO_VAL 1
 
 /* Define to 1 if you have the `pcap_datalink_val_to_name' function. */
-#cmakedefine HAVE_PCAP_DATALINK_VAL_TO_NAME
+#cmakedefine HAVE_PCAP_DATALINK_VAL_TO_NAME 1
 
 /* Define to 1 if you have the `pcap_findalldevs' function and a pcap.h that
    declares pcap_if_t. */
-#cmakedefine HAVE_PCAP_FINDALLDEVS
+#cmakedefine HAVE_PCAP_FINDALLDEVS 1
 
 /* Define to 1 if you have the `pcap_freecode' function. */
-#cmakedefine HAVE_PCAP_FREECODE
+#cmakedefine HAVE_PCAP_FREECODE 1
 
 /* Define to 1 if you have the `pcap_get_selectable_fd' function. */
-#cmakedefine HAVE_PCAP_GET_SELECTABLE_FD
+#cmakedefine HAVE_PCAP_GET_SELECTABLE_FD 1
 
 /* Define to 1 if you have the `pcap_lib_version' function. */
-#cmakedefine HAVE_PCAP_LIB_VERSION
+#cmakedefine HAVE_PCAP_LIB_VERSION 1
 
 /* Define to 1 if you have the `pcap_list_datalinks' function. */
-#cmakedefine HAVE_PCAP_LIST_DATALINKS
+#cmakedefine HAVE_PCAP_LIST_DATALINKS 1
 
 /* Define to 1 if you have the `pcap_open_dead' function. */
-#cmakedefine HAVE_PCAP_OPEN_DEAD
+#cmakedefine HAVE_PCAP_OPEN_DEAD 1
 
 /* Define to 1 if you have the `pcap_set_datalink' function. */
-#cmakedefine HAVE_PCAP_SET_DATALINK
+#cmakedefine HAVE_PCAP_SET_DATALINK 1
 
 /* Define if libpcap version is known */
-#cmakedefine HAVE_PCAP_VERSION
+#cmakedefine HAVE_PCAP_VERSION 1
 
 /* Define if plugins are enabled */
-#cmakedefine HAVE_PLUGINS
+#cmakedefine HAVE_PLUGINS 1
 
 /* Define to 1 if you have the <portaudio.h> header file. */
-#cmakedefine HAVE_PORTAUDIO_H
+#cmakedefine HAVE_PORTAUDIO_H 1
 
 /* Define if sa_len field exists in struct sockaddr */
-#cmakedefine HAVE_SA_LEN
+#cmakedefine HAVE_SA_LEN 1
 
 /* Define to 1 if some SNMP support is to be used */
-#cmakedefine HAVE_SOME_SNMP
+#cmakedefine HAVE_SOME_SNMP 1
 
 /* Define to 1 if you have the <stdarg.h> header file. */
-#cmakedefine HAVE_STDARG_H
+#cmakedefine HAVE_STDARG_H 1
 
 /* Define to 1 if you have the <stddef.h> header file. */
-#cmakedefine HAVE_STDDEF_H
+#cmakedefine HAVE_STDDEF_H 1
 
 /* Define to 1 if you have the <stdint.h> header file. */
-#cmakedefine HAVE_STDINT_H
+#cmakedefine HAVE_STDINT_H 1
 
 /* Define to 1 if you have the <stdlib.h> header file. */
-#cmakedefine HAVE_STDLIB_H
+#cmakedefine HAVE_STDLIB_H 1
 
 /* Define to 1 if you have the <strings.h> header file. */
-#cmakedefine HAVE_STRINGS_H
+#cmakedefine HAVE_STRINGS_H 1
 
 /* Define to 1 if you have the <string.h> header file. */
-#cmakedefine HAVE_STRING_H
+#cmakedefine HAVE_STRING_H 1
 
 /* Define to 1 if you have the `sysconf' function. */
-#cmakedefine HAVE_SYSCONF
+#cmakedefine HAVE_SYSCONF 1
 
 /* Define to 1 if you have the <sys/ioctl.h> header file. */
-#cmakedefine HAVE_SYS_IOCTL_H
+#cmakedefine HAVE_SYS_IOCTL_H 1
 
 /* Define to 1 if you have the <sys/param.h> header file. */
-#cmakedefine HAVE_SYS_PARAM_H
+#cmakedefine HAVE_SYS_PARAM_H 1
 
 /* Define to 1 if you have the <sys/socket.h> header file. */
-#cmakedefine HAVE_SYS_SOCKET_H
+#cmakedefine HAVE_SYS_SOCKET_H 1
 
 /* Define to 1 if you have the <sys/sockio.h> header file. */
-#cmakedefine HAVE_SYS_SOCKIO_H
+#cmakedefine HAVE_SYS_SOCKIO_H 1
 
 /* Define to 1 if you have the <sys/stat.h> header file. */
-#cmakedefine HAVE_SYS_STAT_H
+#cmakedefine HAVE_SYS_STAT_H 1
 
 /* Define to 1 if you have the <sys/time.h> header file. */
-#cmakedefine HAVE_SYS_TIME_H
+#cmakedefine HAVE_SYS_TIME_H 1
 
 /* Define to 1 if you have the <sys/types.h> header file. */
-#cmakedefine HAVE_SYS_TYPES_H
+#cmakedefine HAVE_SYS_TYPES_H 1
 
 /* Define to 1 if you have the <sys/utsname.h> header file. */
-#cmakedefine HAVE_SYS_UTSNAME_H
+#cmakedefine HAVE_SYS_UTSNAME_H 1
 
 /* Define to 1 if you have the <sys/wait.h> header file. */
-#cmakedefine HAVE_SYS_WAIT_H
+#cmakedefine HAVE_SYS_WAIT_H 1
 
 /* Define to enable support for UCD-SNMP */
-#cmakedefine HAVE_UCD_SNMP
+#cmakedefine HAVE_UCD_SNMP 1
 
 /* Define to 1 if you have the <unistd.h> header file. */
-#cmakedefine HAVE_UNISTD_H
+#cmakedefine HAVE_UNISTD_H 1
 
 /* HTML viewer, e.g. mozilla */
 #cmakedefine HTML_VIEWER
 
 /* Define as const if the declaration of iconv() needs const. */
-#cmakedefine ICONV_CONST
+#cmakedefine ICONV_CONST 1
 
 /* Define if <inttypes.h> defines PRI[doxu]64 macros */
-#cmakedefine INTTYPES_H_DEFINES_FORMATS
+/* Note: always defines  PRI[doxu]64 macros so inttypes.h becomes useless.*/
+#cmakedefine INTTYPES_H_DEFINES_FORMATS 1
 
 /* Define if getopt.h needs to be included */
-#cmakedefine NEED_GETOPT_H
+#cmakedefine NEED_GETOPT_H 1
 
 /* Define if g_ascii_strtoull.h needs to be included */
-#cmakedefine NEED_G_ASCII_STRTOULL_H
+#cmakedefine NEED_G_ASCII_STRTOULL_H 1
 
 /* Define if inet/aton.h needs to be included */
-#cmakedefine NEED_INET_ATON_H
+#cmakedefine NEED_INET_ATON_H 1
 
 /* Define if inet/v6defs.h needs to be included */
-#cmakedefine NEED_INET_V6DEFS_H
+#cmakedefine NEED_INET_V6DEFS_H 1
 
 /* Define if strerror.h needs to be included */
-#cmakedefine NEED_STRERROR_H
+#cmakedefine NEED_STRERROR_H 1
 
 /* Define if strptime.h needs to be included */
-#cmakedefine NEED_STRPTIME_H
+#cmakedefine NEED_STRPTIME_H 1
 
 /* Name of package */
 #cmakedefine PACKAGE
 #cmakedefine PLUGIN_DIR
 
 /* Define if we are using version of of the Portaudio library API */
-#cmakedefine PORTAUDIO_API_1
+#cmakedefine PORTAUDIO_API_1 1
 
 /* Format for printing 64-bit unsigned hexadecimal numbers (upper-case) */
-#cmakedefine PRIX64
+#cmakedefine PRIX64 @PRIX64@
 
 /* Format for printing 64-bit signed decimal numbers */
-#cmakedefine PRId64
+#cmakedefine PRId64 @PRId64@
 
 /* Format for printing 64-bit unsigned octal numbers */
-#cmakedefine PRIo64
+#cmakedefine PRIo64 @PRIo64@
 
 /* Format for printing 64-bit unsigned decimal numbers */
-#cmakedefine PRIu64
+#cmakedefine PRIu64 @PRIu64@
 
 /* Format for printing 64-bit unsigned hexadecimal numbers (lower-case) */
-#cmakedefine PRIx64
+#cmakedefine PRIx64 @PRIx64@
 
 /* Define to 1 if you have the ANSI C header files. */
-#cmakedefine STDC_HEADERS
+/* Note: not use in the code */
+#cmakedefine STDC_HEADERS 1
 
 /* Version number of package */
-#cmakedefine VERSION
+#define VERSION "@CPACK_PACKAGE_VERSION@"
 
 /* Define to 1 if your processor stores words with the most significant byte
    first (like Motorola and SPARC, unlike Intel and VAX). */
-#cmakedefine WORDS_BIGENDIAN
+#cmakedefine WORDS_BIGENDIAN 1
 
 /* Define as the string to precede external variable declarations in
    dynamically-linked libraries */
-#cmakedefine WS_VAR_IMPORT
+#define WS_VAR_IMPORT @WS_VAR_IMPORT@
 
 /* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
    `char[]'. */
+/* Note: not use in the code */
 #cmakedefine YYTEXT_POINTER
index 97fed77e59e1e36d9b32c5c1e9c5b97f7444c3b3..159df4aad9b650078e557c7fcb31f8b8089b7ae5 100644 (file)
@@ -61,3 +61,4 @@ ADD_LIBRARY(wiretap SHARED
         ascend-scanner.c
 )
 
+INSTALL(TARGETS wiretap LIBRARY DESTINATION lib)