diff options
-rw-r--r-- | CMakeLists.txt | 32 | ||||
-rw-r--r-- | cmake/modules/FindADNS.cmake | 30 | ||||
-rw-r--r-- | cmake/modules/FindHtmlViewer.cmake | 33 | ||||
-rw-r--r-- | cmake/modules/FindLEX.cmake | 7 | ||||
-rw-r--r-- | cmake/modules/FindQt4.cmake | 1057 | ||||
-rw-r--r-- | cmake/modules/FindYACC.cmake | 9 | ||||
-rw-r--r-- | cmake/modules/UseLemon.cmake | 5 | ||||
-rw-r--r-- | cmake/modules/UsePkgConfig.cmake | 145 | ||||
-rw-r--r-- | epan/CMakeLists.txt | 1029 |
9 files changed, 1103 insertions, 1244 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 2de0e59dbd..e7917e64f3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,12 +25,6 @@ project(wireshark C) cmake_minimum_required(VERSION 2.6) -subdirs( -# epan - wiretap - wsutil -) - #Where to find local cmake scripts set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules) INCLUDE(UseLemon) @@ -47,8 +41,13 @@ include(CMakeInstallDirs) include_directories( ${CMAKE_BINARY_DIR} + ${CMAKE_BINARY_DIR}/epan ${CMAKE_SOURCE_DIR} -# ${CMAKE_SOURCE_DIR}/include + ${CMAKE_SOURCE_DIR}/epan + ${CMAKE_SOURCE_DIR}/epan/dfilter + ${CMAKE_SOURCE_DIR}/epan/dissectors + ${CMAKE_SOURCE_DIR}/epan/ftypes + ${CMAKE_SOURCE_DIR}/tools/lemon ${CMAKE_SOURCE_DIR}/wiretap ${CMAKE_SOURCE_DIR}/wsutil ) @@ -90,11 +89,7 @@ else() endif() #The minimum package list -if(WIN32) - set(PACKAGELIST WSWIN32 LEX YACC Perl ${PACKAGELIST}) -else() - set(PACKAGELIST GLIB2 PCAP LEX YACC Perl ${PACKAGELIST}) -endif() +set(PACKAGELIST GLIB2 PCAP LEX YACC Perl PythonInterp HtmlViewer ${PACKAGELIST}) #Build the gui ? if(BUILD_wireshark) @@ -104,7 +99,6 @@ endif() #Gnu asynchronous DNS if(ENABLE_ADNS) set(PACKAGELIST ADNS ${PACKAGELIST}) - set(HAVE_GNU_ADNS 1) endif() set(PROGLIST text2pcap mergecap capinfos editcap dumpcap) @@ -124,6 +118,11 @@ foreach(PACKAGE ${PACKAGELIST}) endif() endforeach() +# Hack for now +if(HAVE_LIBADNS) + set(HAVE_GNU_ADNS 1) +endif() + #packaging set(CPACK_PACKAGE_NAME wireshark) set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "capture packet") @@ -169,6 +168,10 @@ if(WIN32) endif() +add_subdirectory( epan ) +add_subdirectory( wiretap ) +add_subdirectory( wsutil ) + configure_file(${CMAKE_SOURCE_DIR}/cmakeconfig.h.in ${CMAKE_BINARY_DIR}/config.h) link_directories( @@ -180,8 +183,7 @@ link_directories( ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_BINARY_DIR}/svnversion.h COMMAND ${PERL} ${CMAKE_SOURCE_DIR}/make-version.pl - ARGS - ${CMAKE_SOURCE_DIR} + ${CMAKE_SOURCE_DIR} ) SET_SOURCE_FILES_PROPERTIES(${CMAKE_BINARY_DIR}/svnversion.h GENERATED) diff --git a/cmake/modules/FindADNS.cmake b/cmake/modules/FindADNS.cmake index 625c897288..bc15636ffa 100644 --- a/cmake/modules/FindADNS.cmake +++ b/cmake/modules/FindADNS.cmake @@ -42,17 +42,23 @@ # ADNS_FOUND - True if adns found. #Includes -FIND_PATH(ADNS_INCLUDE_DIR adns.h - /usr/local/include - /usr/include +FIND_PATH(ADNS_INCLUDE_DIR + NAMES + adns.h + PATHS + /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 + NAMES + adns + PATHS + /usr/lib + /usr/local/lib ) SET(ADNS_LIBRARIES ${ADNS_LIBRARY}) @@ -63,7 +69,17 @@ IF(ADNS_INCLUDE_DIR AND ADNS_LIBRARY) ENDIF(ADNS_INCLUDE_DIR AND ADNS_LIBRARY) +if (ADNS_FOUND) + if (NOT ADNS_FIND_QUIETLY) + message(STATUS "Found ADNS: ${ADNS_LIBRARIES}") + endif (NOT ADNS_FIND_QUIETLY) +else (ADNS_FOUND) + if (ADNS_FIND_REQUIRED) + message(FATAL_ERROR "Could not find ADNS") + endif (ADNS_FIND_REQUIRED) +endif (ADNS_FOUND) + MARK_AS_ADVANCED( - ADNS_LIBRARY - ADNS_INCLUDE_DIR + ADNS_LIBRARIES + ADNS_INCLUDE_DIRS ) diff --git a/cmake/modules/FindHtmlViewer.cmake b/cmake/modules/FindHtmlViewer.cmake new file mode 100644 index 0000000000..6753dec9ef --- /dev/null +++ b/cmake/modules/FindHtmlViewer.cmake @@ -0,0 +1,33 @@ +# - Find an html viewer program +# +# HTML_VIEWER_EXECUTABLE - the full path to perl +# HTML_VIEWER_FOUND - If false, don't attempt to use perl. + +INCLUDE(FindCygwin) + +FIND_PROGRAM(HTML_VIEWER_EXECUTABLE + NAMES + xdg-open + mozilla + htmlview + PATHS + ${CYGWIN_INSTALL_PATH}/bin + /bin + /usr/bin + /usr/local/bin + /sbin +) + +IF (NOT HTML_VIEWER_EXECUTABLE) + MESSAGE(FATAL_ERROR "HTML_VIEWER not found - aborting") +ELSE () + SET (HTML_VIEWER_FOUND "YES") + MESSAGE(STATUS "Found HTML_VIEWER: ${HTML_VIEWER_EXECUTABLE}") +ENDIF () + + +# For compat with configure +SET(HTML_VIEWER ${HTML_VIEWER_EXECUTABLE}) + + +MARK_AS_ADVANCED(HTML_VIEWER_EXECUTABLE) diff --git a/cmake/modules/FindLEX.cmake b/cmake/modules/FindLEX.cmake index af5a14bbf3..66da86f824 100644 --- a/cmake/modules/FindLEX.cmake +++ b/cmake/modules/FindLEX.cmake @@ -43,10 +43,9 @@ MACRO(ADD_LEX_FILES _sources ) OUTPUT ${_outc} # COMMAND ${LEX_EXECUTABLE} COMMAND ${CMAKE_SOURCE_DIR}/tools/runlex.sh ${LEX_EXECUTABLE} - ARGS - -o${_outc} - --header-file=${_outh} - ${_in} + -o${_outc} + --header-file=${_outh} + ${_in} DEPENDS ${_in} ) diff --git a/cmake/modules/FindQt4.cmake b/cmake/modules/FindQt4.cmake deleted file mode 100644 index b836fd6273..0000000000 --- a/cmake/modules/FindQt4.cmake +++ /dev/null @@ -1,1057 +0,0 @@ -# - 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/FindYACC.cmake b/cmake/modules/FindYACC.cmake index 2097510961..0f49be7654 100644 --- a/cmake/modules/FindYACC.cmake +++ b/cmake/modules/FindYACC.cmake @@ -40,11 +40,10 @@ MACRO(ADD_YACC_FILES _sources ) ADD_CUSTOM_COMMAND( OUTPUT ${_out} COMMAND ${YACC_EXECUTABLE} - ARGS - -d - -p ${_basename} - -o${_out} - ${_in} + -d + -p ${_basename} + -o${_out} + ${_in} DEPENDS ${_in} ) diff --git a/cmake/modules/UseLemon.cmake b/cmake/modules/UseLemon.cmake index 706ef3de37..77cd700a3f 100644 --- a/cmake/modules/UseLemon.cmake +++ b/cmake/modules/UseLemon.cmake @@ -9,9 +9,8 @@ MACRO(ADD_LEMON_FILES _sources ) ADD_CUSTOM_COMMAND( OUTPUT ${_out} COMMAND ${CMAKE_BINARY_DIR}/lemon - ARGS - t=${_lemonpardir}/lempar.c - ${srcdir}/${_in} + t=${_lemonpardir}/lempar.c + ${srcdir}/${_in} DEPENDS ${_in} ) diff --git a/cmake/modules/UsePkgConfig.cmake b/cmake/modules/UsePkgConfig.cmake deleted file mode 100644 index f131436d8e..0000000000 --- a/cmake/modules/UsePkgConfig.cmake +++ /dev/null @@ -1,145 +0,0 @@ -################################################################### -# -# Copyright (c) 2006 Frederic Heem, <frederic.heem@telsey.it> -# Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. -# See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details. -# All rights reserved. -# -################################################################### -# - 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/epan/CMakeLists.txt b/epan/CMakeLists.txt index cdaad74964..06300eecad 100644 --- a/epan/CMakeLists.txt +++ b/epan/CMakeLists.txt @@ -21,17 +21,1023 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # -subdirs( - dissectors +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/sminmpec.c + COMMAND ${PERL_EXECUTABLE} + ${CMAKE_CURRENT_SOURCE_DIR}/make-sminmpec.pl + ${CMAKE_CURRENT_SOURCE_DIR}/enterprise-numbers + ${CMAKE_CURRENT_BINARY_DIR}/sminmpec.c + DEPENDS enterprise-numbers +) + +set(CRC_FILES + crc/crc-16-plain.c +) + +set(CRYPT_FILES + crypt/airpdcap.c + crypt/airpdcap_ccmp.c + crypt/airpdcap_debug.c + crypt/airpdcap_rijndael.c + crypt/airpdcap_tkip.c + crypt/airpdcap_wep.c + crypt/crypt-aes.c + crypt/crypt-des.c + crypt/crypt-md4.c + crypt/crypt-md5.c + crypt/crypt-rc4.c + crypt/crypt-sha1.c +) + +set(DFILTER_FILES + dfilter/dfilter.c + dfilter/dfilter-macro.c + dfilter/dfunctions.c + dfilter/dfvm.c + dfilter/drange.c + dfilter/gencode.c + dfilter/semcheck.c + dfilter/sttype-function.c + dfilter/sttype-integer.c + dfilter/sttype-pointer.c + dfilter/sttype-range.c + dfilter/sttype-string.c + dfilter/sttype-test.c + dfilter/syntax-tree.c +) + +add_lex_files(DFILTER_FILES + dfilter/scanner.l +) + +add_lemon_files(DFILTER_FILES + dfilter/grammar.lemon +) + +ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/packet-ncp2222.c + COMMAND ${PYTHON_EXECUTABLE} + ${CMAKE_CURRENT_SOURCE_DIR}/dissectors/ncp2222.py + -o ${CMAKE_CURRENT_BINARY_DIR}/packet-ncp2222.c + DEPENDS + ${CMAKE_CURRENT_SOURCE_DIR}/dissectors/ncp2222.py ) ADD_CUSTOM_COMMAND( + OUTPUT + x11-declarations.h + x11-register-info.h + COMMAND ${PERL_EXECUTABLE} + ${CMAKE_CURRENT_SOURCE_DIR}/dissectors/process-x11-fields.pl + <${CMAKE_CURRENT_SOURCE_DIR}/dissectors/x11-fields + DEPENDS + dissectors/x11-fields + dissectors/process-x11-fields.pl +) + +set(PIDL_DISSECTOR_SRC + dissectors/packet-dcerpc-atsvc.c + dissectors/packet-dcerpc-budb.c + dissectors/packet-dcerpc-butc.c + dissectors/packet-dcerpc-dfs.c + dissectors/packet-dcerpc-drsuapi.c + dissectors/packet-dcerpc-dssetup.c + dissectors/packet-dcerpc-efs.c + dissectors/packet-dcerpc-initshutdown.c + dissectors/packet-dcerpc-nspi.c + dissectors/packet-dcerpc-rfr.c + dissectors/packet-dcerpc-wkssvc.c + dissectors/packet-dcerpc-wzcsvc.c + dissectors/packet-dcerpc-frstrans.c +) +set(DIRTY_PIDL_DISSECTOR_SRC + dissectors/packet-dcerpc-dnsserver.c + dissectors/packet-dcerpc-eventlog.c + dissectors/packet-dcerpc-lsa.c + dissectors/packet-dcerpc-srvsvc.c + dissectors/packet-dcerpc-winreg.c +) +set(ASN1_DISSECTOR_SRC + dissectors/packet-acp133.c + dissectors/packet-acse.c + dissectors/packet-ansi_tcap.c + dissectors/packet-camel.c + dissectors/packet-cdt.c + dissectors/packet-cmip.c + dissectors/packet-cmp.c + dissectors/packet-cms.c + dissectors/packet-crmf.c + dissectors/packet-dap.c + dissectors/packet-disp.c + dissectors/packet-dop.c + dissectors/packet-dsp.c + dissectors/packet-ess.c + dissectors/packet-ftam.c + dissectors/packet-goose.c + dissectors/packet-h225.c + dissectors/packet-h235.c + dissectors/packet-h245.c + dissectors/packet-h248.c + dissectors/packet-h282.c + dissectors/packet-h283.c + dissectors/packet-h323.c + dissectors/packet-h450.c + dissectors/packet-h450-ros.c + dissectors/packet-h460.c + dissectors/packet-h501.c + dissectors/packet-logotypecertextn.c + dissectors/packet-mms.c + dissectors/packet-mpeg-audio.c + dissectors/packet-mpeg-pes.c + dissectors/packet-ns_cert_exts.c + dissectors/packet-ocsp.c + dissectors/packet-opsi.c + dissectors/packet-p7.c + dissectors/packet-pkcs1.c + dissectors/packet-pkinit.c + dissectors/packet-pkix1explicit.c + dissectors/packet-pkix1implicit.c + dissectors/packet-pkixproxy.c + dissectors/packet-pkixqualified.c + dissectors/packet-pkixtsp.c + dissectors/packet-q932.c + dissectors/packet-q932-ros.c + dissectors/packet-qsig.c + dissectors/packet-ranap.c + dissectors/packet-ros.c + dissectors/packet-rtnet.c + dissectors/packet-rtse.c + dissectors/packet-s4406.c + dissectors/packet-sabp.c + dissectors/packet-smrse.c + dissectors/packet-spnego.c + dissectors/packet-ulp.c + dissectors/packet-wlancertextn.c + dissectors/packet-x224.c + dissectors/packet-x509af.c + dissectors/packet-x509ce.c + dissectors/packet-x509if.c + dissectors/packet-x509sat.c +) + +set(DIRTY_ASN1_DISSECTOR_SRC + dissectors/packet-ansi_map.c + dissectors/packet-charging_ase.c + dissectors/packet-gnm.c + dissectors/packet-gsm_map.c + dissectors/packet-inap.c + dissectors/packet-ldap.c + dissectors/packet-lte-rrc.c + dissectors/packet-nbap.c + dissectors/packet-pcap.c + dissectors/packet-pkcs12.c + dissectors/packet-pres.c + dissectors/packet-rnsap.c + dissectors/packet-rrc.c + dissectors/packet-rrlp.c + dissectors/packet-s1ap.c + dissectors/packet-snmp.c + dissectors/packet-t125.c + dissectors/packet-tcap.c + dissectors/packet-x2ap.c + dissectors/packet-x411.c + dissectors/packet-x420.c +) + +set(DISSECTOR_SRC + dissectors/packet-2dparityfec.c + dissectors/packet-3com-njack.c + dissectors/packet-3com-xns.c + dissectors/packet-3g-a11.c + dissectors/packet-9p.c + dissectors/packet-aarp.c + dissectors/packet-acap.c + dissectors/packet-acn.c + dissectors/packet-actrace.c + dissectors/packet-afp.c + dissectors/packet-afs.c + dissectors/packet-agentx.c + dissectors/packet-aim.c + dissectors/packet-aim-adverts.c + dissectors/packet-aim-admin.c + dissectors/packet-aim-bos.c + dissectors/packet-aim-buddylist.c + dissectors/packet-aim-chat.c + dissectors/packet-aim-chatnav.c + dissectors/packet-aim-directory.c + dissectors/packet-aim-email.c + dissectors/packet-aim-generic.c + dissectors/packet-aim-icq.c + dissectors/packet-aim-invitation.c + dissectors/packet-aim-location.c + dissectors/packet-aim-messaging.c + dissectors/packet-aim-oft.c + dissectors/packet-aim-popup.c + dissectors/packet-aim-signon.c + dissectors/packet-aim-ssi.c + dissectors/packet-aim-sst.c + dissectors/packet-aim-stats.c + dissectors/packet-aim-translate.c + dissectors/packet-aim-userlookup.c + dissectors/packet-airopeek.c + dissectors/packet-ajp13.c + dissectors/packet-alcap.c + dissectors/packet-amqp.c + dissectors/packet-amr.c + dissectors/packet-ans.c + dissectors/packet-ansi_637.c + dissectors/packet-ansi_683.c + dissectors/packet-ansi_801.c + dissectors/packet-ansi_a.c + dissectors/packet-aodv.c + dissectors/packet-aoe.c + dissectors/packet-ap1394.c + dissectors/packet-app-pkix-cert.c + dissectors/packet-arcnet.c + dissectors/packet-armagetronad.c + dissectors/packet-arp.c + dissectors/packet-artnet.c + dissectors/packet-aruba-adp.c + dissectors/packet-asap.c + dissectors/packet-ascend.c + dissectors/packet-asf.c + dissectors/packet-atalk.c + dissectors/packet-atm.c + dissectors/packet-auto_rp.c + dissectors/packet-ax4000.c + dissectors/packet-ayiya.c + dissectors/packet-bacapp.c + dissectors/packet-bacnet.c + dissectors/packet-banana.c + dissectors/packet-bat.c + dissectors/packet-bctp.c + dissectors/packet-beep.c + dissectors/packet-ber.c + dissectors/packet-bfd.c + dissectors/packet-bgp.c + dissectors/packet-bittorrent.c + dissectors/packet-bjnp.c + dissectors/packet-bofl.c + dissectors/packet-bootp.c + dissectors/packet-bootparams.c + dissectors/packet-bpdu.c + dissectors/packet-brdwlk.c + dissectors/packet-bssap.c + dissectors/packet-bssgp.c + dissectors/packet-btamp.c + dissectors/packet-bthci_acl.c + dissectors/packet-bthci_cmd.c + dissectors/packet-bthci_evt.c + dissectors/packet-bthci_sco.c + dissectors/packet-btl2cap.c + dissectors/packet-btrfcomm.c + dissectors/packet-btsdp.c + dissectors/packet-bvlc.c + dissectors/packet-calcappprotocol.c + dissectors/packet-capwap.c + dissectors/packet-cast.c + dissectors/packet-catapult-dct2000.c + dissectors/packet-ccsds.c + dissectors/packet-cdp.c + dissectors/packet-cfm.c + dissectors/packet-cgmp.c + dissectors/packet-chdlc.c + dissectors/packet-cigi.c + dissectors/packet-cimd.c + dissectors/packet-cimetrics.c + dissectors/packet-cip.c + dissectors/packet-cisco-erspan.c + dissectors/packet-cisco-oui.c + dissectors/packet-cisco-sm.c + dissectors/packet-cisco-wids.c + dissectors/packet-clearcase.c + dissectors/packet-clip.c + dissectors/packet-clnp.c + dissectors/packet-cmpp.c + dissectors/packet-componentstatus.c + dissectors/packet-cops.c + dissectors/packet-cosine.c + dissectors/packet-cpfi.c + dissectors/packet-cpha.c + dissectors/packet-csm-encaps.c + dissectors/packet-ctdb.c + dissectors/packet-cups.c + dissectors/packet-daap.c + dissectors/packet-data.c + dissectors/packet-daytime.c + dissectors/packet-dcc.c + dissectors/packet-dccp.c + dissectors/packet-dcerpc-bossvr.c + dissectors/packet-dcerpc-browser.c + dissectors/packet-dcerpc-cds_clerkserver.c + dissectors/packet-dcerpc-cds_solicit.c + dissectors/packet-dcerpc-conv.c + dissectors/packet-dcerpc-cprpc_server.c + dissectors/packet-dcerpc-dce122.c + dissectors/packet-dcerpc-dtsprovider.c + dissectors/packet-dcerpc-dtsstime_req.c + dissectors/packet-dcerpc-epm.c + dissectors/packet-dcerpc-fileexp.c + dissectors/packet-dcerpc-fldb.c + dissectors/packet-dcerpc-frsapi.c + dissectors/packet-dcerpc-frsrpc.c + dissectors/packet-dcerpc-ftserver.c + dissectors/packet-dcerpc-icl_rpc.c + dissectors/packet-dcerpc-krb5rpc.c + dissectors/packet-dcerpc-llb.c + dissectors/packet-dcerpc-mapi.c + dissectors/packet-dcerpc-messenger.c + dissectors/packet-dcerpc-mgmt.c + dissectors/packet-dcerpc-ndr.c + dissectors/packet-dcerpc-netlogon.c + dissectors/packet-dcerpc-pnp.c + dissectors/packet-dcerpc-rdaclif.c + dissectors/packet-dcerpc-rep_proc.c + dissectors/packet-dcerpc-roverride.c + dissectors/packet-dcerpc-rpriv.c + dissectors/packet-dcerpc-rras.c + dissectors/packet-dcerpc-rs_acct.c + dissectors/packet-dcerpc-rs_attr.c + dissectors/packet-dcerpc-rs_attr_schema.c + dissectors/packet-dcerpc-rs_bind.c + dissectors/packet-dcerpc-rs_misc.c + dissectors/packet-dcerpc-rs_pgo.c + dissectors/packet-dcerpc-rs_plcy.c + dissectors/packet-dcerpc-rs_prop_acct.c + dissectors/packet-dcerpc-rs_prop_acl.c + dissectors/packet-dcerpc-rs_prop_attr.c + dissectors/packet-dcerpc-rs_prop_pgo.c + dissectors/packet-dcerpc-rs_prop_plcy.c + dissectors/packet-dcerpc-rs_pwd_mgmt.c + dissectors/packet-dcerpc-rs_repadm.c + dissectors/packet-dcerpc-rs_replist.c + dissectors/packet-dcerpc-rs_repmgr.c + dissectors/packet-dcerpc-rs_unix.c + dissectors/packet-dcerpc-rsec_login.c + dissectors/packet-dcerpc-samr.c + dissectors/packet-dcerpc-secidmap.c + dissectors/packet-dcerpc-spoolss.c + dissectors/packet-dcerpc-svcctl.c + dissectors/packet-dcerpc-tapi.c + dissectors/packet-dcerpc-tkn4int.c + dissectors/packet-dcerpc-trksvr.c + dissectors/packet-dcerpc-ubikdisk.c + dissectors/packet-dcerpc-ubikvote.c + dissectors/packet-dcerpc-update.c + dissectors/packet-dcerpc.c + dissectors/packet-dcm.c + dissectors/packet-dcom.c + dissectors/packet-dcom-dispatch.c + dissectors/packet-dcom-oxid.c + dissectors/packet-dcom-remact.c + dissectors/packet-dcom-remunkn.c + dissectors/packet-dcom-sysact.c + dissectors/packet-dcp-etsi.c + dissectors/packet-ddtp.c + dissectors/packet-dec-bpdu.c + dissectors/packet-dec-dnart.c + dissectors/packet-dect.c + dissectors/packet-dhcp-failover.c + dissectors/packet-dhcpv6.c + dissectors/packet-diameter.c + dissectors/packet-diameter_3gpp.c + dissectors/packet-dis.c + dissectors/packet-dis-enums.c + dissectors/packet-dis-fields.c + dissectors/packet-dis-pdus.c + dissectors/packet-diffserv-mpls-common.c + dissectors/packet-distcc.c + dissectors/packet-dlm3.c + dissectors/packet-dlsw.c + dissectors/packet-dmp.c + dissectors/packet-dnp.c + dissectors/packet-dns.c + dissectors/packet-dplay.c + dissectors/packet-dpnss.c + dissectors/packet-dpnss-link.c + dissectors/packet-drda.c + dissectors/packet-dsi.c + dissectors/packet-dtls.c + dissectors/packet-dtn.c + dissectors/packet-dtp.c + dissectors/packet-dtpt.c + dissectors/packet-dua.c + dissectors/packet-dvmrp.c + dissectors/packet-e100.c + dissectors/packet-e164.c + dissectors/packet-e212.c + dissectors/packet-eap.c + dissectors/packet-eapol.c + dissectors/packet-echo.c + dissectors/packet-edonkey.c + dissectors/packet-egd.c + dissectors/packet-ehs.c + dissectors/packet-eigrp.c + dissectors/packet-enc.c + dissectors/packet-enip.c + dissectors/packet-enrp.c + dissectors/packet-enttec.c + dissectors/packet-epl.c + dissectors/packet-epl_v1.c + dissectors/packet-epmd.c + dissectors/packet-erf.c + dissectors/packet-esis.c + dissectors/packet-eth.c + dissectors/packet-etherip.c + dissectors/packet-ethertype.c + dissectors/packet-evrc.c + dissectors/packet-exec.c + dissectors/packet-extreme.c + dissectors/packet-fc.c + dissectors/packet-fcct.c + dissectors/packet-fcdns.c + dissectors/packet-fcels.c + dissectors/packet-fcfcs.c + dissectors/packet-fcfzs.c + dissectors/packet-fcip.c + dissectors/packet-fclctl.c + dissectors/packet-fcoe.c + dissectors/packet-fcp.c + dissectors/packet-fcsb3.c + dissectors/packet-fcsp.c + dissectors/packet-fcswils.c + dissectors/packet-fddi.c + dissectors/packet-fefd.c + dissectors/packet-ff.c + dissectors/packet-fip.c + dissectors/packet-fix.c + dissectors/packet-fmp.c + dissectors/packet-fmp_notify.c + dissectors/packet-force10-oui.c + dissectors/packet-fr.c + dissectors/packet-fractalgeneratorprotocol.c + dissectors/packet-frame.c + dissectors/packet-ftp.c + dissectors/packet-fw1.c + dissectors/packet-g723.c + dissectors/packet-gdsdb.c + dissectors/packet-gift.c + dissectors/packet-giop.c + dissectors/packet-glbp.c + dissectors/packet-gmrp.c + dissectors/packet-gnutella.c + dissectors/packet-gpef.c + dissectors/packet-gprs-llc.c + dissectors/packet-gprs-ns.c + dissectors/packet-gre.c + dissectors/packet-gsm_a_bssmap.c + dissectors/packet-gsm_a_common.c + dissectors/packet-gsm_a_dtap.c + dissectors/packet-gsm_a_gm.c + dissectors/packet-gsm_a_rp.c + dissectors/packet-gsm_a_rr.c + dissectors/packet-gsm_ipa.c + dissectors/packet-gsm_bsslap.c + dissectors/packet-gsm_bssmap_le.c + dissectors/packet-gsm_sms.c + dissectors/packet-gsm_sms_ud.c + dissectors/packet-gsm_um.c + dissectors/packet-gssapi.c + dissectors/packet-gtp.c + dissectors/packet-gtpv2.c + dissectors/packet-gvrp.c + dissectors/packet-h1.c + dissectors/packet-h221_nonstd.c + dissectors/packet-h223.c + dissectors/packet-h248_annex_c.c + dissectors/packet-h248_annex_e.c + dissectors/packet-h248_3gpp.c + dissectors/packet-h248_7.c + dissectors/packet-h248_10.c + dissectors/packet-h248_q1950.c + dissectors/packet-h261.c + dissectors/packet-h263.c + dissectors/packet-h263p.c + dissectors/packet-h264.c + dissectors/packet-hci_h1.c + dissectors/packet-hci_h4.c + dissectors/packet-hclnfsd.c + dissectors/packet-hilscher.c + dissectors/packet-hip.c + dissectors/packet-homeplug.c + dissectors/packet-hpext.c + dissectors/packet-hpsw.c + dissectors/packet-hpteam.c + dissectors/packet-hsrp.c + dissectors/packet-http.c + dissectors/packet-hyperscsi.c + dissectors/packet-i2c.c + dissectors/packet-iana-oui.c + dissectors/packet-iapp.c + dissectors/packet-iax2.c + dissectors/packet-icap.c + dissectors/packet-icep.c + dissectors/packet-icmp.c + dissectors/packet-icmpv6.c + dissectors/packet-icp.c + dissectors/packet-icq.c + dissectors/packet-idp.c + dissectors/packet-iec104.c + dissectors/packet-ieee80211.c + dissectors/packet-ieee802154.c + dissectors/packet-ieee8021ah.c + dissectors/packet-ieee8023.c + dissectors/packet-ieee802a.c + dissectors/packet-ifcp.c + dissectors/packet-igap.c + dissectors/packet-igmp.c + dissectors/packet-igrp.c + dissectors/packet-image-gif.c + dissectors/packet-image-jfif.c + dissectors/packet-image-png.c + dissectors/packet-imap.c + dissectors/packet-imf.c + dissectors/packet-infiniband.c + dissectors/packet-ipars.c + dissectors/packet-ip.c + dissectors/packet-ipdc.c + dissectors/packet-ipfc.c + dissectors/packet-ipmi.c + dissectors/packet-ipmi-session.c + dissectors/packet-ipp.c + dissectors/packet-ipsec.c + dissectors/packet-ipsec-tcp.c + dissectors/packet-ipsec-udp.c + dissectors/packet-ipsi-ctl.c + dissectors/packet-ipv6.c + dissectors/packet-ipvs-syncd.c + dissectors/packet-ipx.c + dissectors/packet-ipxwan.c + dissectors/packet-irc.c + dissectors/packet-isakmp.c + dissectors/packet-iscsi.c + dissectors/packet-isdn.c + dissectors/packet-isis-clv.c + dissectors/packet-isis-hello.c + dissectors/packet-isis-lsp.c + dissectors/packet-isis-snp.c + dissectors/packet-isis.c + dissectors/packet-isl.c + dissectors/packet-ismacryp.c + dissectors/packet-ismp.c + dissectors/packet-isns.c + dissectors/packet-isup.c + dissectors/packet-itdm.c + dissectors/packet-iua.c + dissectors/packet-iuup.c + dissectors/packet-iwarp-ddp-rdmap.c + dissectors/packet-iwarp-mpa.c + dissectors/packet-jabber.c + dissectors/packet-jpeg.c + dissectors/packet-juniper.c + dissectors/packet-jxta.c + dissectors/packet-k12.c + dissectors/packet-kadm5.c + dissectors/packet-kdp.c + dissectors/packet-kerberos.c + dissectors/packet-kerberos4.c + dissectors/packet-klm.c + dissectors/packet-kingfisher.c + dissectors/packet-kink.c + dissectors/packet-kismet.c + dissectors/packet-kpasswd.c + dissectors/packet-l2tp.c + dissectors/packet-lanforge.c + dissectors/packet-lapb.c + dissectors/packet-lapbether.c + dissectors/packet-lapd.c + dissectors/packet-lapdm.c + dissectors/packet-laplink.c + dissectors/packet-l1-events.c + dissectors/packet-ldp.c + dissectors/packet-ldss.c + dissectors/packet-lge_monitor.c + dissectors/packet-linx.c + dissectors/packet-llc.c + dissectors/packet-lldp.c + dissectors/packet-llt.c + dissectors/packet-lmi.c + dissectors/packet-lmp.c + dissectors/packet-loop.c + dissectors/packet-lpd.c + dissectors/packet-lsc.c + dissectors/packet-lwapp.c + dissectors/packet-lwres.c + dissectors/packet-m2pa.c + dissectors/packet-m2tp.c + dissectors/packet-m2ua.c + dissectors/packet-m3ua.c + dissectors/packet-mac-lte.c + dissectors/packet-maccontrol.c + dissectors/packet-manolito.c + dissectors/packet-mbtcp.c + dissectors/packet-mdshdr.c + dissectors/packet-media.c + dissectors/packet-megaco.c + dissectors/packet-memcache.c + dissectors/packet-mesh.c + dissectors/packet-mgcp.c + dissectors/packet-mikey.c + dissectors/packet-miop.c + dissectors/packet-mip.c + dissectors/packet-mip6.c + dissectors/packet-ms-mms.c + dissectors/packet-mmse.c + dissectors/packet-mount.c + dissectors/packet-mp2t.c + dissectors/packet-mp4ves.c + dissectors/packet-mpeg1.c + dissectors/packet-mpls.c + dissectors/packet-mpls-echo.c + dissectors/packet-mq.c + dissectors/packet-mq-pcf.c + dissectors/packet-mrdisc.c + dissectors/packet-msdp.c + dissectors/packet-msnlb.c + dissectors/packet-msn-messenger.c + dissectors/packet-msnip.c + dissectors/packet-msproxy.c + dissectors/packet-msrp.c + dissectors/packet-mstp.c + dissectors/packet-mtp2.c + dissectors/packet-mtp3.c + dissectors/packet-mtp3mg.c + dissectors/packet-multipart.c + dissectors/packet-mysql.c + dissectors/packet-nas_eps.c + dissectors/packet-nasdaq-itch.c + dissectors/packet-nat-pmp.c + dissectors/packet-nb_rtpmux.c + dissectors/packet-nbd.c + dissectors/packet-nbipx.c + dissectors/packet-nbns.c + dissectors/packet-ncp.c + packet-ncp2222.c + dissectors/packet-ncp-nmas.c + dissectors/packet-ncp-sss.c + dissectors/packet-ncs.c + dissectors/packet-ndmp.c + dissectors/packet-ndps.c + dissectors/packet-netbios.c + dissectors/packet-netdump.c + dissectors/packet-netflow.c + dissectors/packet-netsync.c + dissectors/packet-nettl.c + dissectors/packet-newmail.c + dissectors/packet-nfs.c + dissectors/packet-nfsacl.c + dissectors/packet-nfsauth.c + dissectors/packet-nhrp.c + dissectors/packet-nisplus.c + dissectors/packet-nlm.c + dissectors/packet-nlsp.c + dissectors/packet-nntp.c + dissectors/packet-nstrace.c + dissectors/packet-nsip.c + dissectors/packet-nsrp.c + dissectors/packet-nt-oui.c + dissectors/packet-nt-sonmp.c + dissectors/packet-nt-tpcp.c + dissectors/packet-ntlmssp.c + dissectors/packet-ntp.c + dissectors/packet-null.c + dissectors/packet-oicq.c + dissectors/packet-olsr.c + dissectors/packet-omapi.c + dissectors/packet-osi-options.c + dissectors/packet-osi.c + dissectors/packet-ositp.c + dissectors/packet-ospf.c + dissectors/packet-p_mul.c + dissectors/packet-packetlogger.c + dissectors/packet-pagp.c + dissectors/packet-paltalk.c + dissectors/packet-pana.c + dissectors/packet-pcep.c + dissectors/packet-pcli.c + dissectors/packet-pcnfsd.c + dissectors/packet-pdcp-lte.c + dissectors/packet-per.c + dissectors/packet-pflog.c + dissectors/packet-pgm.c + dissectors/packet-pim.c + dissectors/packet-pingpongprotocol.c + dissectors/packet-pktgen.c + dissectors/packet-pktc.c + dissectors/packet-pop.c + dissectors/packet-portmap.c + dissectors/packet-pgsql.c + dissectors/packet-ppi.c + dissectors/packet-ppp.c + dissectors/packet-pppoe.c + dissectors/packet-pptp.c + dissectors/packet-prp.c + dissectors/packet-ptp.c + dissectors/packet-pvfs2.c + dissectors/packet-pw-common.c + dissectors/packet-pw-eth.c + dissectors/packet-pw-hdlc.c + dissectors/packet-pw-fr.c + dissectors/packet-pw-atm.c + dissectors/packet-pw-cesopsn.c + dissectors/packet-pw-satop.c + dissectors/packet-q2931.c + dissectors/packet-q931.c + dissectors/packet-q933.c + dissectors/packet-qllc.c + dissectors/packet-quake.c + dissectors/packet-quake2.c + dissectors/packet-quake3.c + dissectors/packet-quakeworld.c + dissectors/packet-radius.c + dissectors/packet-radius_packetcable.c + dissectors/packet-radiotap.c + dissectors/packet-raw.c + dissectors/packet-rdm.c + dissectors/packet-rdt.c + dissectors/packet-redback.c + dissectors/packet-redbackli.c + dissectors/packet-retix-bpdu.c + dissectors/packet-rfc2190.c + dissectors/packet-rgmp.c + dissectors/packet-rip.c + dissectors/packet-ripng.c + dissectors/packet-rlc-lte.c + dissectors/packet-rlm.c + dissectors/packet-rlogin.c + dissectors/packet-rmcp.c + dissectors/packet-rmi.c + dissectors/packet-rmp.c + dissectors/packet-rmt-alc.c + dissectors/packet-rmt-common.c + dissectors/packet-rmt-fec.c + dissectors/packet-rmt-lct.c + dissectors/packet-rmt-norm.c + dissectors/packet-roofnet.c + dissectors/packet-rpc.c + dissectors/packet-rpcap.c + dissectors/packet-rpl.c + dissectors/packet-rquota.c + dissectors/packet-rsh.c + dissectors/packet-rsl.c + dissectors/packet-rstat.c + dissectors/packet-rsvp.c + dissectors/packet-rsync.c + dissectors/packet-rtcp.c + dissectors/packet-rtmpt.c + dissectors/packet-rtp-events.c + dissectors/packet-rtp.c + dissectors/packet-rtps.c + dissectors/packet-rtps2.c + dissectors/packet-rtsp.c + dissectors/packet-rudp.c + dissectors/packet-rwall.c + dissectors/packet-rx.c + dissectors/packet-s5066.c + dissectors/packet-sadmind.c + dissectors/packet-sap.c + dissectors/packet-sbus.c + dissectors/packet-sccp.c + dissectors/packet-sccpmg.c + dissectors/packet-scsi.c + dissectors/packet-scsi-mmc.c + dissectors/packet-scsi-osd.c + dissectors/packet-scsi-sbc.c + dissectors/packet-scsi-smc.c + dissectors/packet-scsi-ssc.c + dissectors/packet-sctp.c + dissectors/packet-sdlc.c + dissectors/packet-sdp.c + dissectors/packet-sebek.c + dissectors/packet-ses.c + dissectors/packet-sflow.c + dissectors/packet-simulcrypt.c + dissectors/packet-sip.c + dissectors/packet-sigcomp.c + dissectors/packet-sipfrag.c + dissectors/packet-sita.c + dissectors/packet-skinny.c + dissectors/packet-slimp3.c + dissectors/packet-sll.c + dissectors/packet-slowprotocols.c + dissectors/packet-slsk.c + dissectors/packet-smb-browse.c + dissectors/packet-smb-common.c + dissectors/packet-smb-logon.c + dissectors/packet-smb-mailslot.c + dissectors/packet-smb-pipe.c + dissectors/packet-smb-sidsnooping.c + dissectors/packet-smb.c + dissectors/packet-smb2.c + dissectors/packet-smpp.c + dissectors/packet-smtp.c + dissectors/packet-sna.c + dissectors/packet-snaeth.c + dissectors/packet-sndcp.c + dissectors/packet-sndcp-xid.c + dissectors/packet-socks.c + dissectors/packet-nasdaq-soup.c + dissectors/packet-spp.c + dissectors/packet-spray.c + dissectors/packet-srp.c + dissectors/packet-sscf-nni.c + dissectors/packet-srvloc.c + dissectors/packet-sscop.c + dissectors/packet-scriptingservice.c + dissectors/packet-ssh.c + dissectors/packet-ssl.c + dissectors/packet-ssl-utils.c + dissectors/packet-starteam.c + dissectors/packet-stat-notify.c + dissectors/packet-stat.c + dissectors/packet-stun.c + dissectors/packet-stun2.c + dissectors/packet-sua.c + dissectors/packet-symantec.c + dissectors/packet-synergy.c + dissectors/packet-synphasor.c + dissectors/packet-syslog.c + dissectors/packet-t30.c + dissectors/packet-t38.c + dissectors/packet-tacacs.c + dissectors/packet-tali.c + dissectors/packet-tapa.c + dissectors/packet-tcp.c + dissectors/packet-tds.c + dissectors/packet-teamspeak2.c + dissectors/packet-teimanagement.c + dissectors/packet-telnet.c + dissectors/packet-teredo.c + dissectors/packet-text-media.c + dissectors/packet-telkonet.c + dissectors/packet-tftp.c + dissectors/packet-time.c + dissectors/packet-tipc.c + dissectors/packet-tivoconnect.c + dissectors/packet-tnef.c + dissectors/packet-tns.c + dissectors/packet-tn3270.c + dissectors/packet-tpkt.c + dissectors/packet-tpncp.c + dissectors/packet-tr.c + dissectors/packet-trmac.c + dissectors/packet-tsp.c + dissectors/packet-tte.c + dissectors/packet-tte-pcf.c + dissectors/packet-turbocell.c + dissectors/packet-turnchannel.c + dissectors/packet-tuxedo.c + dissectors/packet-tzsp.c + dissectors/packet-ucp.c + dissectors/packet-udld.c + dissectors/packet-uma.c + dissectors/packet-udp.c + dissectors/packet-usb.c + dissectors/packet-usb-masstorage.c + dissectors/packet-usb-hid.c + dissectors/packet-umts_fp.c + dissectors/packet-user_encap.c + dissectors/packet-uts.c + dissectors/packet-v120.c + dissectors/packet-v5ua.c + dissectors/packet-v52.c + dissectors/packet-vcdu.c + dissectors/packet-vicp.c + dissectors/packet-vines.c + dissectors/packet-vj.c + dissectors/packet-vlan.c + dissectors/packet-vnc.c + dissectors/packet-vrrp.c + dissectors/packet-vtp.c + dissectors/packet-wap.c + dissectors/packet-wassp.c + dissectors/packet-wbxml.c + dissectors/packet-wccp.c + dissectors/packet-wcp.c + dissectors/packet-wfleet-hdlc.c + dissectors/packet-who.c + dissectors/packet-windows-common.c + dissectors/packet-winsrepl.c + dissectors/packet-wlccp.c + dissectors/packet-wol.c + dissectors/packet-wow.c + dissectors/packet-wps.c + dissectors/packet-wsmp.c + dissectors/packet-wsp.c + dissectors/packet-wtls.c + dissectors/packet-wtp.c + dissectors/packet-x11.c + dissectors/packet-x25.c + dissectors/packet-x29.c + dissectors/packet-xcsl.c + dissectors/packet-xdmcp.c + dissectors/packet-xml.c + dissectors/packet-xot.c + dissectors/packet-xtp.c + dissectors/packet-xyplex.c + dissectors/packet-yhoo.c + dissectors/packet-ymsg.c + dissectors/packet-ypbind.c + dissectors/packet-yppasswd.c + dissectors/packet-ypserv.c + dissectors/packet-ypxfr.c + dissectors/packet-zbee-aps.c + dissectors/packet-zbee-security.c + dissectors/packet-zbee-nwk.c + dissectors/packet-zbee-zcl.c + dissectors/packet-zbee-zdp.c + dissectors/packet-zbee-zdp-binding.c + dissectors/packet-zbee-zdp-discovery.c + dissectors/packet-zbee-zdp-management.c + dissectors/packet-zebra.c + dissectors/packet-zep.c + dissectors/packet-ziop.c + dissectors/packet-zrtp.c +) + +# IPMI sub-parsers for each network function code +set(IPMI_SUBPARSERS + dissectors/packet-ipmi-app.c + dissectors/packet-ipmi-bridge.c + dissectors/packet-ipmi-chassis.c + dissectors/packet-ipmi-picmg.c + dissectors/packet-ipmi-se.c + dissectors/packet-ipmi-storage.c + dissectors/packet-ipmi-transport.c + dissectors/packet-ipmi-pps.c + dissectors/packet-ipmi-update.c +) + +set(DISSECTOR_SUPPORT_SRC + ${IPMI_SUBPARSERS} + dissectors/packet-dcerpc-nt.c + register.c +) + +set(DISSECTOR_FILES + ${DISSECTOR_SRC} + ${PIDL_DISSECTOR_SRC} + ${DIRTY_PIDL_DISSECTOR_SRC} + ${ASN1_DISSECTOR_SRC} + ${DIRTY_ASN1_DISSECTOR_SRC} +) + +set_source_files_properties( + ${DISSECTOR_SRC} + ${PIDL_DISSECTOR_SRC} + ${ASN1_DISSECTOR_SRC} + PROPERTIES + # FIXME: -Werror and -pedantic exclude each other: test for -pedantic + # COMPILE_FLAGS -Werror +) + +ADD_CUSTOM_COMMAND( +# FIXME: Only the Python stuff has been implemented +#register.c: $(plugin_src) $(ALL_DISSECTORS_SRC) $(top_srcdir)/tools/make-dissector-reg \ +# $(top_srcdir)/tools/make-dissector-reg.py +# @if test -n "$(PYTHON)"; then \ +# echo Making register.c with python ; \ +# $(PYTHON) $(top_srcdir)/tools/make-dissector-reg.py $(srcdir) \ +# dissectors $(ALL_DISSECTORS_SRC) ; \ +# else \ +# echo Making register.c with shell script ; \ +# $(top_srcdir)/tools/make-dissector-reg $(srcdir) \ +# dissectors $(plugin_src) $(ALL_DISSECTORS_SRC) ; \ +# fi + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/register.c + COMMAND ${PYTHON_EXECUTABLE} + ${CMAKE_SOURCE_DIR}/tools/make-dissector-reg.py + ${CMAKE_CURRENT_SOURCE_DIR} + dissectors + ${DISSECTOR_FILES} + DEPENDS + ${DISSECTOR_FILES} + ${CMAKE_SOURCE_DIR}/tools/make-dissector-reg + ${CMAKE_SOURCE_DIR}/tools/make-dissector-reg.py +) + +set(FTYPE_FILES + ftypes/ftypes.c + ftypes/ftype-bytes.c + ftypes/ftype-double.c + ftypes/ftype-integer.c + ftypes/ftype-ipv4.c + ftypes/ftype-guid.c + ftypes/ftype-none.c + ftypes/ftype-pcre.c + ftypes/ftype-string.c + ftypes/ftype-time.c + ftypes/ftype-tvbuff.c +) + +# FIXME: trunk/epan/wslua/ and trunk/epan/wspython/ are missing + +ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/sminmpec.c COMMAND ${PERL_EXECUTABLE} - ARGS - ${CMAKE_CURRENT_SOURCE_DIR}/make-sminmpec.pl - ${CMAKE_CURRENT_SOURCE_DIR}/enterprise-numbers - ${CMAKE_CURRENT_BINARY_DIR}/sminmpec.c + ${CMAKE_CURRENT_SOURCE_DIR}/make-sminmpec.pl + ${CMAKE_CURRENT_SOURCE_DIR}/enterprise-numbers + ${CMAKE_CURRENT_BINARY_DIR}/sminmpec.c DEPENDS enterprise-numbers ) @@ -121,10 +1127,17 @@ add_lemon_files(LIBWIRESHARK_FILES dtd_grammar.lemon ) -# add_dependency(ascend.c ascend_scanner_lex.h) - add_library(libwireshark SHARED + # Needed to trigger build of the include files for x11 + x11-declarations.h + x11-register-info.h ${LIBWIRESHARK_FILES} + ${CRC_FILES} + ${CRYPT_FILES} + ${DFILTER_FILES} + ${FTYPE_FILES} + ${DISSECTOR_FILES} + ${DISSECTOR_SUPPORT_SRC} ) install(TARGETS libwireshark |