Beginnings of getting cmake to build stuff in epan.
It's only beginnings, so epan is commented out in the subdirs statement. This is more a synch to avoid duplicate work and creating conflicting patches to the cmake stuff. svn path=/trunk/; revision=29666
This commit is contained in:
parent
822d0a2242
commit
d26cdc30ea
276
CMakeLists.txt
276
CMakeLists.txt
|
@ -26,12 +26,14 @@ project(wireshark C)
|
|||
cmake_minimum_required(VERSION 2.6)
|
||||
|
||||
subdirs(
|
||||
wiretap
|
||||
wsutil
|
||||
# epan
|
||||
wiretap
|
||||
wsutil
|
||||
)
|
||||
|
||||
#Where to find local cmake scripts
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
|
||||
INCLUDE(UseLemon)
|
||||
|
||||
# Under linux the release mode (CMAKE_BUILD_TYPE=release) defines NDEBUG
|
||||
|
||||
|
@ -44,17 +46,17 @@ set(BUILD_SHARED_LIBS ON)
|
|||
include(CMakeInstallDirs)
|
||||
|
||||
include_directories(
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_SOURCE_DIR}
|
||||
${CMAKE_SOURCE_DIR}/include
|
||||
${CMAKE_SOURCE_DIR}/wiretap
|
||||
${CMAKE_SOURCE_DIR}/wsutil
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_SOURCE_DIR}
|
||||
# ${CMAKE_SOURCE_DIR}/include
|
||||
${CMAKE_SOURCE_DIR}/wiretap
|
||||
${CMAKE_SOURCE_DIR}/wsutil
|
||||
)
|
||||
|
||||
#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.")
|
||||
set(LIBRARY_OUTPUT_PATH ${wireshark_BINARY_DIR}/lib CACHE INTERNAL
|
||||
"Single output directory for building all libraries.")
|
||||
endif()
|
||||
|
||||
option(BUILD_wireshark "Build the GUI version of Wireshark" ON)
|
||||
|
@ -72,54 +74,54 @@ option(ENABLE_ADNS "Build with adns support" ON)
|
|||
option(ENABLE_EXTRA_GCC_CHECKS "Do additional -W checks in GCC" OFF)
|
||||
|
||||
if(ENABLE_EXTRA_GCC_CHECKS)
|
||||
set(WIRESHARK_EXTRA_GCC_FLAGS -Wcast-qual -Wcast-align -Wbad-function-cast
|
||||
-pedantic -Wstrict-prototypes -Wmissing-declarations -Wwrite-strings)
|
||||
set(WIRESHARK_EXTRA_GCC_FLAGS -Wcast-qual -Wcast-align -Wbad-function-cast
|
||||
-pedantic -Wstrict-prototypes -Wmissing-declarations -Wwrite-strings)
|
||||
endif()
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCC)
|
||||
add_definitions(
|
||||
-DHAVE_CONFIG_H
|
||||
-D_U_=__attribute__\(\(unused\)\)
|
||||
-Wall -Wpointer-arith -W
|
||||
${WIRESHARK_EXTRA_GCC_FLAGS}
|
||||
)
|
||||
add_definitions(
|
||||
-DHAVE_CONFIG_H
|
||||
-D_U_=__attribute__\(\(unused\)\)
|
||||
-Wall -Wpointer-arith -W
|
||||
${WIRESHARK_EXTRA_GCC_FLAGS}
|
||||
)
|
||||
else()
|
||||
add_definitions(-DHAVE_CONFIG_H -D_U_=\"\")
|
||||
add_definitions(-DHAVE_CONFIG_H -D_U_=\"\")
|
||||
endif()
|
||||
|
||||
#The minimum package list
|
||||
if(WIN32)
|
||||
set(PACKAGELIST WSWIN32 LEX YACC Perl ${PACKAGELIST})
|
||||
set(PACKAGELIST WSWIN32 LEX YACC Perl ${PACKAGELIST})
|
||||
else()
|
||||
set(PACKAGELIST GLIB2 PCAP LEX YACC Perl ${PACKAGELIST})
|
||||
set(PACKAGELIST GLIB2 PCAP LEX YACC Perl ${PACKAGELIST})
|
||||
endif()
|
||||
|
||||
#build the gui ?
|
||||
#Build the gui ?
|
||||
if(BUILD_wireshark)
|
||||
set(PACKAGELIST GTK2 ${PACKAGELIST})
|
||||
set(PACKAGELIST GTK2 ${PACKAGELIST})
|
||||
endif()
|
||||
|
||||
#Gnu asynchronous dns
|
||||
#Gnu asynchronous DNS
|
||||
if(ENABLE_ADNS)
|
||||
set(PACKAGELIST ADNS ${PACKAGELIST})
|
||||
set(HAVE_GNU_ADNS 1)
|
||||
set(PACKAGELIST ADNS ${PACKAGELIST})
|
||||
set(HAVE_GNU_ADNS 1)
|
||||
endif()
|
||||
|
||||
set(PROGLIST text2pcap mergecap capinfos editcap dumpcap)
|
||||
|
||||
#Let's loop the package list
|
||||
foreach(PACKAGE ${PACKAGELIST})
|
||||
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}")
|
||||
foreach(PROG ${PROGLIST})
|
||||
# set(${PROG}_LIBS ${${PROG}_LIBS} ${${PACKAGE}_LIBRARIES})
|
||||
endforeach()
|
||||
message(STATUS "${PACKAGE} lib ${${PACKAGE}_LIBRARIES}")
|
||||
endif()
|
||||
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}")
|
||||
foreach(PROG ${PROGLIST})
|
||||
# set(${PROG}_LIBS ${${PROG}_LIBS} ${${PACKAGE}_LIBRARIES})
|
||||
endforeach()
|
||||
message(STATUS "${PACKAGE} lib ${${PACKAGE}_LIBRARIES}")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
#packaging
|
||||
|
@ -148,50 +150,62 @@ set(DATAFILE_DIR "${CMAKE_INSTALL_PREFIX}/share/${CPACK_PACKAGE_NAME}")
|
|||
|
||||
#Platform specific
|
||||
if(UNIX)
|
||||
set(WS_VAR_IMPORT "extern")
|
||||
set(WS_VAR_IMPORT "extern")
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
#TODO verify that APPLE implies HAVE_OS_X_FRAMEWORKS
|
||||
set(HAVE_OS_X_FRAMEWORKS 1)
|
||||
set(HAVE_OS_X_FRAMEWORKS 1)
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
add_definitions(-DHAVE_WIN32_LIBWIRESHARK_LIB -D_NEED_VAR_IMPORT_)
|
||||
set(WS_VAR_IMPORT "__declspec(dllimport) extern")
|
||||
add_definitions(-DHAVE_WIN32_LIBWIRESHARK_LIB -D_NEED_VAR_IMPORT_)
|
||||
set(WS_VAR_IMPORT "__declspec(dllimport) extern")
|
||||
|
||||
# Disable deprecation
|
||||
if(MSVC80 OR MSVC90)
|
||||
add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
|
||||
endif()
|
||||
# Disable deprecation
|
||||
if(MSVC80 OR MSVC90)
|
||||
add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
configure_file(${CMAKE_SOURCE_DIR}/cmakeconfig.h.in ${CMAKE_BINARY_DIR}/config.h)
|
||||
|
||||
link_directories(
|
||||
wiretap
|
||||
wsutil
|
||||
wiretap
|
||||
wsutil
|
||||
epan
|
||||
)
|
||||
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${CMAKE_BINARY_DIR}/svnversion.h
|
||||
COMMAND ${PERL} ${CMAKE_SOURCE_DIR}/make-version.pl
|
||||
ARGS
|
||||
${CMAKE_SOURCE_DIR}
|
||||
OUTPUT ${CMAKE_BINARY_DIR}/svnversion.h
|
||||
COMMAND ${PERL} ${CMAKE_SOURCE_DIR}/make-version.pl
|
||||
ARGS
|
||||
${CMAKE_SOURCE_DIR}
|
||||
)
|
||||
SET_SOURCE_FILES_PROPERTIES(${CMAKE_BINARY_DIR}/svnversion.h GENERATED)
|
||||
|
||||
# Create the necessary tools
|
||||
set(lemon_FILES
|
||||
tools/lemon/lemon.c
|
||||
)
|
||||
set(lemon_LIBS
|
||||
# Do we need something here on any platform?
|
||||
)
|
||||
add_executable(lemon ${lemon_FILES})
|
||||
target_link_libraries(lemon ${lemon_LIBS})
|
||||
# but don't install them
|
||||
|
||||
if(UNIX)
|
||||
set(PLATFORM_SRC
|
||||
capture-pcap-util-unix.c
|
||||
)
|
||||
set(PLATFORM_SRC
|
||||
capture-pcap-util-unix.c
|
||||
)
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
set(PLATFORM_SRC
|
||||
capture-wpcap.c capture_wpcap_packet.c
|
||||
)
|
||||
set(PLATFORM_SRC
|
||||
capture-wpcap.c capture_wpcap_packet.c
|
||||
)
|
||||
endif()
|
||||
|
||||
if(BUILD_wireshark)
|
||||
|
@ -215,91 +229,91 @@ if(BUILD_dftest)
|
|||
endif()
|
||||
|
||||
if(BUILD_text2pcap)
|
||||
set(text2pcap_LIBS
|
||||
wiretap
|
||||
wsutil
|
||||
${GLIB2_LIBRARIES}
|
||||
)
|
||||
set(text2pcap_FILES
|
||||
text2pcap.c
|
||||
)
|
||||
add_lex_files(text2pcap_FILES
|
||||
text2pcap-scanner.l
|
||||
)
|
||||
add_executable(text2pcap ${text2pcap_FILES})
|
||||
target_link_libraries(text2pcap ${text2pcap_LIBS})
|
||||
install(TARGETS text2pcap RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
set(text2pcap_LIBS
|
||||
wiretap
|
||||
wsutil
|
||||
${GLIB2_LIBRARIES}
|
||||
)
|
||||
set(text2pcap_FILES
|
||||
text2pcap.c
|
||||
)
|
||||
add_lex_files(text2pcap_FILES
|
||||
text2pcap-scanner.l
|
||||
)
|
||||
add_executable(text2pcap ${text2pcap_FILES})
|
||||
target_link_libraries(text2pcap ${text2pcap_LIBS})
|
||||
install(TARGETS text2pcap RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
endif()
|
||||
|
||||
if(BUILD_mergecap)
|
||||
set(mergecap_LIBS
|
||||
wiretap
|
||||
wsutil
|
||||
${GLIB2_LIBRARIES}
|
||||
)
|
||||
set(mergecap_FILES
|
||||
mergecap.c
|
||||
merge.c
|
||||
svnversion.h
|
||||
)
|
||||
add_executable(mergecap ${mergecap_FILES})
|
||||
target_link_libraries(mergecap ${mergecap_LIBS})
|
||||
install(TARGETS mergecap RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
set(mergecap_LIBS
|
||||
wiretap
|
||||
wsutil
|
||||
${GLIB2_LIBRARIES}
|
||||
)
|
||||
set(mergecap_FILES
|
||||
mergecap.c
|
||||
merge.c
|
||||
svnversion.h
|
||||
)
|
||||
add_executable(mergecap ${mergecap_FILES})
|
||||
target_link_libraries(mergecap ${mergecap_LIBS})
|
||||
install(TARGETS mergecap RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
endif()
|
||||
|
||||
if(BUILD_capinfos)
|
||||
set(capinfos_LIBS
|
||||
wiretap
|
||||
wsutil
|
||||
${GLIB2_LIBRARIES}
|
||||
)
|
||||
set(capinfos_FILES
|
||||
capinfos.c
|
||||
)
|
||||
add_executable(capinfos ${capinfos_FILES})
|
||||
target_link_libraries(capinfos ${capinfos_LIBS})
|
||||
install(TARGETS capinfos RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
set(capinfos_LIBS
|
||||
wiretap
|
||||
wsutil
|
||||
${GLIB2_LIBRARIES}
|
||||
)
|
||||
set(capinfos_FILES
|
||||
capinfos.c
|
||||
)
|
||||
add_executable(capinfos ${capinfos_FILES})
|
||||
target_link_libraries(capinfos ${capinfos_LIBS})
|
||||
install(TARGETS capinfos RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
endif()
|
||||
|
||||
if(BUILD_editcap)
|
||||
set(editcap_LIBS
|
||||
wiretap
|
||||
wsutil
|
||||
${GLIB2_LIBRARIES}
|
||||
)
|
||||
set(editcap_FILES
|
||||
editcap.c
|
||||
epan/crypt/crypt-md5.c
|
||||
epan/nstime.c
|
||||
)
|
||||
add_executable(editcap ${editcap_FILES})
|
||||
target_link_libraries(editcap ${editcap_LIBS})
|
||||
install(TARGETS editcap RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
set(editcap_LIBS
|
||||
wiretap
|
||||
wsutil
|
||||
${GLIB2_LIBRARIES}
|
||||
)
|
||||
set(editcap_FILES
|
||||
editcap.c
|
||||
epan/crypt/crypt-md5.c
|
||||
epan/nstime.c
|
||||
)
|
||||
add_executable(editcap ${editcap_FILES})
|
||||
target_link_libraries(editcap ${editcap_LIBS})
|
||||
install(TARGETS editcap RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
endif()
|
||||
|
||||
if(BUILD_dumpcap)
|
||||
set(dumpcap_LIBS
|
||||
wiretap
|
||||
wsutil
|
||||
${GLIB2_LIBRARIES}
|
||||
${PCAP_LIBRARIES}
|
||||
)
|
||||
set(dumpcap_FILES
|
||||
svnversion.h
|
||||
capture_opts.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
|
||||
${PLATFORM_SRC}
|
||||
)
|
||||
add_executable(dumpcap ${dumpcap_FILES})
|
||||
target_link_libraries(dumpcap ${dumpcap_LIBS})
|
||||
install(TARGETS dumpcap RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
set(dumpcap_LIBS
|
||||
wiretap
|
||||
wsutil
|
||||
${GLIB2_LIBRARIES}
|
||||
${PCAP_LIBRARIES}
|
||||
)
|
||||
set(dumpcap_FILES
|
||||
svnversion.h
|
||||
capture_opts.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
|
||||
${PLATFORM_SRC}
|
||||
)
|
||||
add_executable(dumpcap ${dumpcap_FILES})
|
||||
target_link_libraries(dumpcap ${dumpcap_LIBS})
|
||||
install(TARGETS dumpcap RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
endif()
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
MACRO(ADD_LEMON_FILES _sources )
|
||||
set(_lemonpardir ${CMAKE_SOURCE_DIR}/tools/lemon)
|
||||
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}/${_basename}.c)
|
||||
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${_out}
|
||||
COMMAND ${CMAKE_BINARY_DIR}/lemon
|
||||
ARGS
|
||||
t=${_lemonpardir}/lempar.c
|
||||
${srcdir}/${_in}
|
||||
DEPENDS ${_in}
|
||||
)
|
||||
|
||||
SET(${_sources} ${${_sources}} ${_out} )
|
||||
ENDFOREACH (_current_FILE)
|
||||
ENDMACRO(ADD_LEMON_FILES)
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
# CMakeLists.txt
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# Wireshark - Network traffic analyzer
|
||||
# By Gerald Combs <gerald@wireshark.org>
|
||||
# Copyright 1998 Gerald Combs
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# 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}
|
||||
ARGS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/make-sminmpec.pl
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/enterprise-numbers
|
||||
${CMAKE_CURRENT_BINARY_DIR}/sminmpec.c
|
||||
DEPENDS enterprise-numbers
|
||||
)
|
||||
|
||||
set(LIBWIRESHARK_FILES
|
||||
addr_and_mask.c
|
||||
addr_resolv.c
|
||||
adler32.c
|
||||
afn.c
|
||||
asn1.c
|
||||
atalk-utils.c
|
||||
base64.c
|
||||
bitswap.c
|
||||
camel-persistentdata.c
|
||||
charsets.c
|
||||
circuit.c
|
||||
codecs.c
|
||||
column.c
|
||||
column-utils.c
|
||||
conversation.c
|
||||
crc10.c
|
||||
crc16.c
|
||||
crc32.c
|
||||
crc6.c
|
||||
crcdrm.c
|
||||
dissector_filters.c
|
||||
emem.c
|
||||
epan.c
|
||||
ex-opt.c
|
||||
except.c
|
||||
expert.c
|
||||
filesystem.c
|
||||
follow.c
|
||||
frame_data.c
|
||||
frequency-utils.c
|
||||
funnel.c
|
||||
gcp.c
|
||||
geoip_db.c
|
||||
golay.c
|
||||
guid-utils.c
|
||||
h225-persistentdata.c
|
||||
in_cksum.c
|
||||
ipproto.c
|
||||
ipv4.c
|
||||
next_tvb.c
|
||||
nstime.c
|
||||
oids.c
|
||||
osi-utils.c
|
||||
packet.c
|
||||
plugins.c
|
||||
prefs.c
|
||||
proto.c
|
||||
range.c
|
||||
reassemble.c
|
||||
reedsolomon.c
|
||||
report_err.c
|
||||
req_resp_hdrs.c
|
||||
sigcomp_state_hdlr.c
|
||||
sigcomp-udvm.c
|
||||
sminmpec.c
|
||||
sna-utils.c
|
||||
stat_cmd_args.c
|
||||
stats_tree.c
|
||||
strutil.c
|
||||
stream.c
|
||||
t35.c
|
||||
tap.c
|
||||
tcap-persistentdata.c
|
||||
timestamp.c
|
||||
tfs.c
|
||||
to_str.c
|
||||
tvbparse.c
|
||||
tvbuff.c
|
||||
uat.c
|
||||
value_string.c
|
||||
xdlc.c
|
||||
)
|
||||
|
||||
add_lex_files(LIBWIRESHARK_FILES
|
||||
diam_dict.l
|
||||
dtd_parse.l
|
||||
dtd_preparse.l
|
||||
radius_dict.l
|
||||
uat_load.l
|
||||
)
|
||||
|
||||
add_lemon_files(LIBWIRESHARK_FILES
|
||||
dtd_grammar.lemon
|
||||
)
|
||||
|
||||
# add_dependency(ascend.c ascend_scanner_lex.h)
|
||||
|
||||
add_library(libwireshark SHARED
|
||||
${LIBWIRESHARK_FILES}
|
||||
)
|
||||
|
||||
install(TARGETS libwireshark
|
||||
LIBRARY DESTINATION lib
|
||||
RUNTIME DESTINATION lib
|
||||
ARCHIVE DESTINATION lib
|
||||
)
|
||||
|
|
@ -86,6 +86,8 @@ add_library(wiretap SHARED
|
|||
)
|
||||
|
||||
install(TARGETS wiretap
|
||||
LIBRARY DESTINATION lib
|
||||
RUNTIME DESTINATION lib
|
||||
ARCHIVE DESTINATION lib)
|
||||
LIBRARY DESTINATION lib
|
||||
RUNTIME DESTINATION lib
|
||||
ARCHIVE DESTINATION lib
|
||||
)
|
||||
|
||||
|
|
Loading…
Reference in New Issue