frederic.heem:

Update/Add FindPCAP.cmake CMakeInstallDirs.cmake CMakeLists.txt

me: 
  Fix a typo, change gcc flags to mimic the behaviour of autofoo
  stuff.


svn path=/trunk/; revision=19707
This commit is contained in:
Jörg Mayer 2006-10-26 15:36:50 +00:00
parent 6cd3bd1202
commit c1684fbf44
4 changed files with 139 additions and 25 deletions

View File

@ -25,17 +25,25 @@ project(wireshark C)
set(dumpcap_LIBS wiretap)
#Where to find local cmake scripts
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
# 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)
include_directories(${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/include ${CMAKE_SOURCE_DIR}/wiretap)
#Defines CMAKE_INSTALL_BINDIR, CMAKE_INSTALL_DATADIR, etc ...
include(CMakeInstallDirs)
add_definitions(-DHAVE_CONFIG_H -D_U_=\"__attribute__\(\(unused\)\)\")
include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/wiretap
)
#Where to put libraries
if(NOT LIBRARY_OUTPUT_PATH)
@ -50,10 +58,27 @@ option(ENABLE_STATIC "Build a static version of Wireshark" OFF)
option(ENABLE_ADNS "Build with adns support" ON)
option(ENABLE_DBUS "Build with D-Bus support" OFF)
option(ENABLE_DBUS_TEST "Build with D-Bus unitest support" OFF)
option(ENABLE_EXTRA_GCC_CHECKS "Do additional -W checks in GCC" OFF)
if(BUILD_WIRESHARK OR BUILD_TSHARK)
if(ENABLE_EXTRA_GCC_CHECKS)
set(WIRESHARK_EXTRA_GCC_FLAGS -Wcast-qual -Wcast-align -Wbad-function-cast
-pedantic -Wstrict-prototypes -Wmissing-declarations -Wwrite-strings)
endif(ENABLE_EXTRA_GCC_CHECKS)
if(CMAKE_COMPILER_IS_GNUCC)
add_definitions(
-DHAVE_CONFIG_H
-D_U_=\"__attribute__\(\(unused\)\)\"
-Wall -Wpointer-arith -W
${WIRESHARK_EXTRA_GCC_FLAGS}
)
else(CMAKE_COMPILER_IS_GNUCC)
add_definitions(-DHAVE_CONFIG_H -D_U_=\"\")
endif(CMAKE_COMPILER_IS_GNUCC)
if(BUILD_WIRESHARK OR BUILD_TSHARK OR BUILD_DUMPCAP)
subdirs(wiretap)
endif(BUILD_WIRESHARK OR BUILD_TSHARK)
endif(BUILD_WIRESHARK OR BUILD_TSHARK OR BUILD_DUMPCAP)
#The minimum package list
set(PACKAGELIST GLIB2 ZLIB PCAP ${PACKAGELIST})
@ -94,10 +119,10 @@ 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_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
set(CPACK_PACKAGE_VERSION_MAJOR "0")
set(CPACK_PACKAGE_VERSION_MINOR "94")
set(CPACK_PACKAGE_VERSION_PATCH "0")
set(CPACK_PACKAGE_VERSION_MINOR "99")
set(CPACK_PACKAGE_VERSION_PATCH "4")
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}")
@ -166,7 +191,7 @@ check_64bit_format(q FORMAT_64BIT)
check_64bit_format(I64 FORMAT_64BIT)
if(NOT FORMAT_64BIT)
message(FATAL " 64 bit formart missing")
message(FATAL " 64 bit format missing")
endif(NOT FORMAT_64BIT)
set(PRIX64 "${FORMAT_64BIT}X")
@ -220,9 +245,7 @@ if(BUILD_DUMPCAP)
add_executable(dumpcap ${DUMPCAP_FILES})
target_link_libraries(dumpcap ${dumpcap_LIBS})
install(TARGETS dumpcap RUNTIME DESTINATION bin)
install(TARGETS dumpcap RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR})
endif(BUILD_DUMPCAP)

View File

@ -0,0 +1,54 @@
# - CMakeInstallDirs.cmake
# This script defines some variables that describe paths needed to install an application:
# CMAKE_INSTALL_BINDIR
# CMAKE_INSTALL_DATADIR
# CMAKE_INSTALL_SYSCONFDIR
# CMAKE_INSTALL_LOCALSTATEDIR
# CMAKE_INSTALL_LIBDIR
# CMAKE_INSTALL_MANDIR
#Documentation string
SET(CMAKE_INSTALL_BINDIR_DOC "user executables [PREFIX/bin]")
SET(CMAKE_INSTALL_SBINDIR_DOC "system admin executables [EPREFIX/sbin]")
SET(CMAKE_INSTALL_DATADIR_DOC "read-only architecture-independent data [PREFIX/share]")
SET(CMAKE_INSTALL_SYSCONFDIR_DOC "read-only single-machine data [PREFIX/etc]")
SET(CMAKE_INSTALL_LOCALSTATEDIR_DOC "modifiable single-machine data [PREFIX/var]")
SET(CMAKE_INSTALL_LIBDIR_DOC "object code libraries [PREFIX/lib]")
SET(CMAKE_INSTALL_MANDIR_DOC "man documentation [PREFIX/man]")
#Special case for /etc and /var when prefix is /usr
IF(${CMAKE_INSTALL_PREFIX} STREQUAL "/usr")
SET(CMAKE_INSTALL_SYSCONFDIR "/etc" CACHE PATH ${CMAKE_INSTALL_SYSCONFDIR_DOC})
SET(CMAKE_INSTALL_LOCALSTATEDIR "/var" CACHE PATH ${CMAKE_INSTALL_LOCALSTATEDIR_DOC})
ENDIF(${CMAKE_INSTALL_PREFIX} STREQUAL "/usr")
#General case
SET(CMAKE_INSTALL_BINDIR "${CMAKE_INSTALL_PREFIX}/bin"
CACHE PATH ${CMAKE_INSTALL_BINDIR_DOC})
SET(CMAKE_INSTALL_SBINDIR "${CMAKE_INSTALL_PREFIX}/sbin"
CACHE PATH ${CMAKE_INSTALL_SBINDIR_DOC})
SET(CMAKE_INSTALL_DATADIR "${CMAKE_INSTALL_PREFIX}/share"
CACHE PATH ${CMAKE_INSTALL_DATADIR_DOC})
SET(CMAKE_INSTALL_SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc"
CACHE PATH ${CMAKE_INSTALL_SYSCONFDIR_DOC})
SET(CMAKE_INSTALL_LOCALSTATEDIR "${CMAKE_INSTALL_PREFIX}/var"
CACHE PATH ${CMAKE_INSTALL_LOCALSTATEDIR_DOC})
SET(CMAKE_INSTALL_LIBDIR "${CMAKE_INSTALL_PREFIX}/lib"
CACHE PATH ${CMAKE_INSTALL_LIBDIR_DOC})
SET(CMAKE_INSTALL_MANDIR "${CMAKE_INSTALL_PREFIX}/man"
CACHE PATH ${CMAKE_INSTALL_MANDIR_DOC})
MARK_AS_ADVANCED(
CMAKE_INSTALL_BINDIR
CMAKE_INSTALL_DATADIR
CMAKE_INSTALL_SYSCONFDIR
CMAKE_INSTALL_LOCALSTATEDIR
CMAKE_INSTALL_LIBDIR
CMAKE_INSTALL_MANDIR
)

View File

@ -14,7 +14,7 @@
# check_64bit_format(I64 FORMAT_64BIT)
#
# if(NOT FORMAT_64BIT)
# message(FATAL " 64 bit formart missing")
# message(FATAL " 64 bit format missing")
# endif(NOT FORMAT_64BIT)
#
# set(PRIX64 "${FORMAT_64BIT}X")

View File

@ -1,26 +1,63 @@
# - Find pcap
# Find the PCAP includes and library
# http://www.tcpdump.org/
#
# The environment variable PCAPDIR allows to specficy where to find
# libpcap in non standard location.
#
# 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
)
IF(EXISTS $ENV{PCAPDIR})
FIND_PATH(PCAP_INCLUDE_DIR
NAMES
pcap/pcap.h
pcap.h
PATHS
$ENV{PCAPDIR}
NO_DEFAULT_PATH
)
FIND_LIBRARY(PCAP_LIBRARY
NAMES
pcap
PATHS
$ENV{PCAPDIR}
NO_DEFAULT_PATH
)
ELSE(EXISTS $ENV{PCAPDIR})
FIND_PATH(PCAP_INCLUDE_DIR
NAMES
pcap/pcap.h
pcap.h
)
FIND_LIBRARY(PCAP_LIBRARY
NAMES
pcap
)
ENDIF(EXISTS $ENV{PCAPDIR})
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})
IF(PCAP_INCLUDE_DIRS)
MESSAGE(STATUS "Pcap include dirs set to ${PCAP_INCLUDE_DIRS}")
ELSE(PCAP_INCLUDE_DIRS)
MESSAGE(FATAL " Pcap include dirs cannot be found")
ENDIF(PCAP_INCLUDE_DIRS)
IF(PCAP_LIBRARIES)
MESSAGE(STATUS "Pcap library set to ${PCAP_LIBRARIES}")
ELSE(PCAP_LIBRARIES)
MESSAGE(FATAL "Pcap library cannot be found")
ENDIF(PCAP_LIBRARIES)
#Functions
INCLUDE(CheckFunctionExists)
SET(CMAKE_REQUIRED_INCLUDES ${PCAP_INCLUDE_DIRS})