From e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 10 Apr 2024 22:34:10 +0200 Subject: Adding upstream version 4.2.2. Signed-off-by: Daniel Baumann --- wiretap/CMakeLists.txt | 242 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 242 insertions(+) create mode 100644 wiretap/CMakeLists.txt (limited to 'wiretap/CMakeLists.txt') diff --git a/wiretap/CMakeLists.txt b/wiretap/CMakeLists.txt new file mode 100644 index 0000000..7a7b51e --- /dev/null +++ b/wiretap/CMakeLists.txt @@ -0,0 +1,242 @@ +# CMakeLists.txt +# +# Wireshark - Network traffic analyzer +# By Gerald Combs +# Copyright 1998 Gerald Combs +# +# SPDX-License-Identifier: GPL-2.0-or-later +# + +set(WIRETAP_PUBLIC_HEADERS + file_wrappers.h + introspection.h + merge.h + pcap-encap.h + pcapng_module.h + secrets-types.h + wtap.h + wtap_modules.h + wtap_opttypes.h +) + +# +# Files that implement reading and possibly writing one or more +# file types. (For cases where more than one source file is +# used, this should be the one that contains a registration routine.) +# +# This does not include libpcap.c and pcapng.c; those are listed below, +# and we don't scan them to see whether they have registration +# routines, we *require* them to have registration routines named +# register_pcap() and register_pcapng(), and directly call those routines. +# +set(WIRETAP_C_MODULE_FILES + ${CMAKE_CURRENT_SOURCE_DIR}/5views.c + ${CMAKE_CURRENT_SOURCE_DIR}/aethra.c + ${CMAKE_CURRENT_SOURCE_DIR}/ascendtext.c + ${CMAKE_CURRENT_SOURCE_DIR}/atm.c + ${CMAKE_CURRENT_SOURCE_DIR}/autosar_dlt.c + ${CMAKE_CURRENT_SOURCE_DIR}/ber.c + ${CMAKE_CURRENT_SOURCE_DIR}/blf.c + ${CMAKE_CURRENT_SOURCE_DIR}/btsnoop.c + ${CMAKE_CURRENT_SOURCE_DIR}/busmaster.c + ${CMAKE_CURRENT_SOURCE_DIR}/camins.c + ${CMAKE_CURRENT_SOURCE_DIR}/candump.c + ${CMAKE_CURRENT_SOURCE_DIR}/capsa.c + ${CMAKE_CURRENT_SOURCE_DIR}/catapult_dct2000.c + ${CMAKE_CURRENT_SOURCE_DIR}/commview.c + ${CMAKE_CURRENT_SOURCE_DIR}/cosine.c + ${CMAKE_CURRENT_SOURCE_DIR}/csids.c + ${CMAKE_CURRENT_SOURCE_DIR}/daintree-sna.c + ${CMAKE_CURRENT_SOURCE_DIR}/dbs-etherwatch.c + ${CMAKE_CURRENT_SOURCE_DIR}/dpa400.c + ${CMAKE_CURRENT_SOURCE_DIR}/dct3trace.c + ${CMAKE_CURRENT_SOURCE_DIR}/erf.c + ${CMAKE_CURRENT_SOURCE_DIR}/eri_enb_log.c + ${CMAKE_CURRENT_SOURCE_DIR}/eyesdn.c + ${CMAKE_CURRENT_SOURCE_DIR}/hcidump.c + ${CMAKE_CURRENT_SOURCE_DIR}/i4btrace.c + ${CMAKE_CURRENT_SOURCE_DIR}/ipfix.c + ${CMAKE_CURRENT_SOURCE_DIR}/iptrace.c + ${CMAKE_CURRENT_SOURCE_DIR}/iseries.c + ${CMAKE_CURRENT_SOURCE_DIR}/json.c + ${CMAKE_CURRENT_SOURCE_DIR}/k12.c + ${CMAKE_CURRENT_SOURCE_DIR}/lanalyzer.c + ${CMAKE_CURRENT_SOURCE_DIR}/log3gpp.c + ${CMAKE_CURRENT_SOURCE_DIR}/logcat.c + ${CMAKE_CURRENT_SOURCE_DIR}/logcat_text.c + ${CMAKE_CURRENT_SOURCE_DIR}/mp4.c + ${CMAKE_CURRENT_SOURCE_DIR}/mpeg.c + ${CMAKE_CURRENT_SOURCE_DIR}/mplog.c + ${CMAKE_CURRENT_SOURCE_DIR}/mime_file.c + ${CMAKE_CURRENT_SOURCE_DIR}/mp2t.c + ${CMAKE_CURRENT_SOURCE_DIR}/netmon.c + ${CMAKE_CURRENT_SOURCE_DIR}/netscaler.c + ${CMAKE_CURRENT_SOURCE_DIR}/netscreen.c + ${CMAKE_CURRENT_SOURCE_DIR}/nettl.c + ${CMAKE_CURRENT_SOURCE_DIR}/nettrace_3gpp_32_423.c + ${CMAKE_CURRENT_SOURCE_DIR}/netxray.c + ${CMAKE_CURRENT_SOURCE_DIR}/ngsniffer.c + ${CMAKE_CURRENT_SOURCE_DIR}/observer.c + ${CMAKE_CURRENT_SOURCE_DIR}/packetlogger.c + ${CMAKE_CURRENT_SOURCE_DIR}/pcap-common.c + ${CMAKE_CURRENT_SOURCE_DIR}/peekclassic.c + ${CMAKE_CURRENT_SOURCE_DIR}/peektagged.c + ${CMAKE_CURRENT_SOURCE_DIR}/pppdump.c + ${CMAKE_CURRENT_SOURCE_DIR}/radcom.c + ${CMAKE_CURRENT_SOURCE_DIR}/rfc7468.c + ${CMAKE_CURRENT_SOURCE_DIR}/rtpdump.c + ${CMAKE_CURRENT_SOURCE_DIR}/ruby_marshal.c + ${CMAKE_CURRENT_SOURCE_DIR}/snoop.c + ${CMAKE_CURRENT_SOURCE_DIR}/stanag4607.c + ${CMAKE_CURRENT_SOURCE_DIR}/systemd_journal.c + ${CMAKE_CURRENT_SOURCE_DIR}/tnef.c + ${CMAKE_CURRENT_SOURCE_DIR}/toshiba.c + ${CMAKE_CURRENT_SOURCE_DIR}/visual.c + ${CMAKE_CURRENT_SOURCE_DIR}/vms.c + ${CMAKE_CURRENT_SOURCE_DIR}/vwr.c +) + +set(WIRETAP_LEX_MODULE_FILES + ${CMAKE_CURRENT_SOURCE_DIR}/k12text.l +) + +# +# Files to scan for registration routines. +# +set(WIRETAP_MODULE_FILES + ${WIRETAP_C_MODULE_FILES} + ${WIRETAP_LEX_MODULE_FILES} +) + +# +# C source files that aren't generated. +# +set(WIRETAP_NONGENERATED_C_FILES + ${WIRETAP_C_MODULE_FILES} + ${CMAKE_CURRENT_SOURCE_DIR}/pcapng.c + ${CMAKE_CURRENT_SOURCE_DIR}/introspection.c + ${CMAKE_CURRENT_SOURCE_DIR}/libpcap.c + ${CMAKE_CURRENT_SOURCE_DIR}/file_access.c + ${CMAKE_CURRENT_SOURCE_DIR}/file_wrappers.c + ${CMAKE_CURRENT_SOURCE_DIR}/merge.c + ${CMAKE_CURRENT_SOURCE_DIR}/wtap.c + ${CMAKE_CURRENT_SOURCE_DIR}/wtap_opttypes.c +) + +# +# All C files to compile. +# +set(WIRETAP_FILES ${WIRETAP_NONGENERATED_C_FILES} wtap_modules.c) + +add_lex_files(LEX_FILES WIRETAP_FILES + ${WIRETAP_LEX_MODULE_FILES} + ${CMAKE_CURRENT_SOURCE_DIR}/ascend_scanner.l + ${CMAKE_CURRENT_SOURCE_DIR}/busmaster_scanner.l + ${CMAKE_CURRENT_SOURCE_DIR}/candump_scanner.l +) + +add_lemon_files(LEMON_FILES WIRETAP_FILES + ${CMAKE_CURRENT_SOURCE_DIR}/ascend_parser.lemon + ${CMAKE_CURRENT_SOURCE_DIR}/busmaster_parser.lemon + ${CMAKE_CURRENT_SOURCE_DIR}/candump_parser.lemon +) + +# +# We pass the arguments to make-regs.py in a file to avoid limitations +# with the number of arguments handled by main(). +# +file(GENERATE + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/wtap_modules.in.txt" + CONTENT "$\n" +) +add_custom_command( + OUTPUT wtap_modules.c + COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/tools/make-regs.py wtap_modules wtap_modules.c @wtap_modules.in.txt + DEPENDS ${CMAKE_SOURCE_DIR}/tools/make-regs.py ${WIRETAP_MODULE_FILES} + "${CMAKE_CURRENT_BINARY_DIR}/wtap_modules.in.txt" + COMMENT "Making wtap_modules.c" +) + +# +# All files are warning-clean. (Let's keep it that way.) +# +set_source_files_properties( + ${WIRETAP_NONGENERATED_C_FILES} + PROPERTIES + COMPILE_FLAGS "${WERROR_COMMON_FLAGS}" +) + +add_library(wiretap + ${WIRETAP_FILES} + ${CMAKE_BINARY_DIR}/resources/libwiretap.rc +) + +set_target_properties(wiretap PROPERTIES + PREFIX "lib" + COMPILE_DEFINITIONS "WS_BUILD_DLL" + LINK_FLAGS "${WS_LINK_FLAGS}" + VERSION "14.1.0" SOVERSION 14 + FOLDER "DLLs" + INSTALL_RPATH "${LIBRARY_INSTALL_RPATH}" +) +if(MSVC) + set_target_properties(wiretap PROPERTIES LINK_FLAGS_DEBUG "${WS_MSVC_DEBUG_LINK_FLAGS}") +endif() + +target_link_libraries(wiretap + PUBLIC + wsutil + ${GLIB2_LIBRARIES} + PRIVATE + ${ZLIB_LIBRARIES} + ${ZSTD_LIBRARIES} + ${LZ4_LIBRARIES} +) + +target_include_directories(wiretap SYSTEM + PRIVATE + ${ZLIB_INCLUDE_DIRS} + ${ZSTD_INCLUDE_DIRS} + ${LZ4_INCLUDE_DIRS} +) + +target_include_directories(wiretap PUBLIC + $ +) + +install(TARGETS wiretap + EXPORT WiresharkTargets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} +) + +install(FILES ${WIRETAP_PUBLIC_HEADERS} + DESTINATION "${PROJECT_INSTALL_INCLUDEDIR}/wiretap" + COMPONENT "Development" + EXCLUDE_FROM_ALL +) + +CHECKAPI( + NAME + wiretap + SWITCHES + SOURCES + ${WIRETAP_NONGENERATED_FILES} +# LEX files commented out due to use of malloc, free etc. +# ${LEX_FILES} + ${LEMON_FILES} +) + +# +# Editor modelines - https://www.wireshark.org/tools/modelines.html +# +# Local variables: +# c-basic-offset: 8 +# tab-width: 8 +# indent-tabs-mode: t +# End: +# +# vi: set shiftwidth=8 tabstop=8 noexpandtab: +# :indentSize=8:tabSize=8:noTabs=false: +# -- cgit v1.2.3