aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt259
-rw-r--r--cmake/modules/Check64BitFormat.c.in12
-rw-r--r--cmake/modules/Check64BitFormat.cmake55
-rw-r--r--cmake/modules/FindADNS.cmake34
-rw-r--r--cmake/modules/FindDBUS.cmake101
-rw-r--r--cmake/modules/FindDBUSGLIB.cmake89
-rw-r--r--cmake/modules/FindGCRYPT.cmake49
-rw-r--r--cmake/modules/FindGLIB2.cmake313
-rw-r--r--cmake/modules/FindGTK2.cmake40
-rw-r--r--cmake/modules/FindLEX.cmake43
-rw-r--r--cmake/modules/FindPCAP.cmake38
-rw-r--r--cmake/modules/FindQt4.cmake1057
-rw-r--r--cmake/modules/UsePkgConfig.cmake137
-rw-r--r--cmakeconfig.h.in190
-rw-r--r--wiretap/CMakeLists.txt1
15 files changed, 2139 insertions, 279 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a3d5e6d85f..beba685be4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -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
index 0000000000..1175e9b638
--- /dev/null
+++ b/cmake/modules/Check64BitFormat.c.in
@@ -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
index 0000000000..4f8c843163
--- /dev/null
+++ b/cmake/modules/Check64BitFormat.cmake
@@ -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
index 0000000000..3a9aabe637
--- /dev/null
+++ b/cmake/modules/FindADNS.cmake
@@ -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
index 0000000000..8f1946e971
--- /dev/null
+++ b/cmake/modules/FindDBUS.cmake
@@ -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
index 0000000000..644deb55ab
--- /dev/null
+++ b/cmake/modules/FindDBUSGLIB.cmake
@@ -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
index 0000000000..bd0da85eff
--- /dev/null
+++ b/cmake/modules/FindGCRYPT.cmake
@@ -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
+)
diff --git a/cmake/modules/FindGLIB2.cmake b/cmake/modules/FindGLIB2.cmake
index 1dda572c62..19d4f8e87f 100644
--- a/cmake/modules/FindGLIB2.cmake
+++ b/cmake/modules/FindGLIB2.cmake
@@ -1,127 +1,244 @@
+# - 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)
diff --git a/cmake/modules/FindGTK2.cmake b/cmake/modules/FindGTK2.cmake
index c426b24303..a7bc1d3a49 100644
--- a/cmake/modules/FindGTK2.cmake
+++ b/cmake/modules/FindGTK2.cmake
@@ -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")
diff --git a/cmake/modules/FindLEX.cmake b/cmake/modules/FindLEX.cmake
index 31033f23ca..2e307f3605 100644
--- a/cmake/modules/FindLEX.cmake
+++ b/cmake/modules/FindLEX.cmake
@@ -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)
+
diff --git a/cmake/modules/FindPCAP.cmake b/cmake/modules/FindPCAP.cmake
index 8eb537d9c7..bd0da85eff 100644
--- a/cmake/modules/FindPCAP.cmake
+++ b/cmake/modules/FindPCAP.cmake
@@ -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
index 0000000000..b836fd6273
--- /dev/null
+++ b/cmake/modules/FindQt4.cmake
@@ -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
index 0000000000..9a15015e07
--- /dev/null
+++ b/cmake/modules/UsePkgConfig.cmake
@@ -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)
diff --git a/cmakeconfig.h.in b/cmakeconfig.h.in
index 577d7f2901..701b535e16 100644
--- a/cmakeconfig.h.in
+++ b/cmakeconfig.h.in
@@ -1,255 +1,259 @@
/* 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
@@ -273,37 +277,39 @@
#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
diff --git a/wiretap/CMakeLists.txt b/wiretap/CMakeLists.txt
index 97fed77e59..159df4aad9 100644
--- a/wiretap/CMakeLists.txt
+++ b/wiretap/CMakeLists.txt
@@ -61,3 +61,4 @@ ADD_LIBRARY(wiretap SHARED
ascend-scanner.c
)
+INSTALL(TARGETS wiretap LIBRARY DESTINATION lib)