summaryrefslogtreecommitdiffstats
path: root/epan/CMakeLists.txt
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 20:34:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 20:34:10 +0000
commite4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc (patch)
tree68cb5ef9081156392f1dd62a00c6ccc1451b93df /epan/CMakeLists.txt
parentInitial commit. (diff)
downloadwireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.tar.xz
wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.zip
Adding upstream version 4.2.2.upstream/4.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'epan/CMakeLists.txt')
-rw-r--r--epan/CMakeLists.txt481
1 files changed, 481 insertions, 0 deletions
diff --git a/epan/CMakeLists.txt b/epan/CMakeLists.txt
new file mode 100644
index 00000000..9281a2a1
--- /dev/null
+++ b/epan/CMakeLists.txt
@@ -0,0 +1,481 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+
+if (HAVE_HFI_SECTION_INIT)
+ add_definitions(
+ -DHAVE_HFI_SECTION_INIT
+ )
+endif()
+
+add_definitions(
+ ${LIBXML2_DEFINITIONS}
+ ${KERBEROS_DEFINITIONS}
+)
+
+add_subdirectory(crypt)
+add_subdirectory(dfilter)
+add_subdirectory(dissectors)
+add_subdirectory(ftypes)
+
+if(LUA_FOUND)
+ add_subdirectory(wslua)
+endif()
+
+add_custom_command(
+ OUTPUT ps.c
+ COMMAND ${Python3_EXECUTABLE}
+ ${CMAKE_SOURCE_DIR}/tools/rdps.py
+ ${CMAKE_CURRENT_SOURCE_DIR}/print.ps
+ ps.c
+ DEPENDS
+ ${CMAKE_SOURCE_DIR}/tools/rdps.py
+ ${CMAKE_CURRENT_SOURCE_DIR}/print.ps
+)
+
+set(LIBWIRESHARK_PUBLIC_HEADERS
+ addr_and_mask.h
+ addr_resolv.h
+ address.h
+ address_types.h
+ afn.h
+ aftypes.h
+ app_mem_usage.h
+ arcnet_pids.h
+ arptypes.h
+ asn1.h
+ ax25_pids.h
+ bridged_pids.h
+ capture_dissectors.h
+ charsets.h
+ chdlctypes.h
+ cisco_pid.h
+ color_filters.h
+ column.h
+ column-info.h
+ column-utils.h
+ conversation.h
+ conversation_debug.h
+ conversation_table.h
+ conv_id.h
+ crc10-tvb.h
+ crc16-tvb.h
+ crc32-tvb.h
+ crc6-tvb.h
+ crc8-tvb.h
+ decode_as.h
+ diam_dict.h
+ disabled_protos.h
+ conversation_filter.h
+ dccpservicecodes.h
+ dtd.h
+ dtd_parse.h
+ dvb_chartbl.h
+ eap.h
+ eapol_keydes_types.h
+ epan.h
+ epan_dissect.h
+ etypes.h
+ ex-opt.h
+ except.h
+ exceptions.h
+ expert.h
+ export_object.h
+ exported_pdu.h
+ fifo_string_cache.h
+ filter_expressions.h
+ follow.h
+ frame_data.h
+ frame_data_sequence.h
+ funnel.h
+ #geoip_db.h
+ golay.h
+ guid-utils.h
+ iana_charsets.h
+ iax2_codec_type.h
+ in_cksum.h
+ introspection.h
+ ip_opts.h
+ ipproto.h
+ ipv4.h
+ ipv6.h
+ lapd_sapi.h
+ llcsaps.h
+ maxmind_db.h
+ media_params.h
+ next_tvb.h
+ nlpid.h
+ oids.h
+ osi-utils.h
+ oui.h
+ packet.h
+ packet_info.h
+ params.h
+ pci-ids.h
+ plugin_if.h
+ ppptypes.h
+ print.h
+ print_stream.h
+ prefs.h
+ prefs-int.h
+ proto.h
+ proto_data.h
+ ps.h
+ ptvcursor.h
+ range.h
+ reassemble.h
+ reedsolomon.h
+ register.h
+ req_resp_hdrs.h
+ rtd_table.h
+ rtp_pt.h
+ sctpppids.h
+ secrets.h
+ show_exception.h
+ slow_protocol_subtypes.h
+ sminmpec.h
+ srt_table.h
+ stat_tap_ui.h
+ stat_groups.h
+ stats_tree.h
+ stats_tree_priv.h
+ stream.h
+ strutil.h
+ t35.h
+ tap.h
+ tap-voip.h
+ timestamp.h
+ timestats.h
+ tfs.h
+ to_str.h
+ tvbparse.h
+ tvbuff.h
+ tvbuff-int.h
+ uat.h
+ uat-int.h
+ unit_strings.h
+ value_string.h
+ wmem_scopes.h
+ wscbor.h
+ x264_prt_id.h
+ xdlc.h
+)
+
+set(LIBWIRESHARK_HEADER_FILES
+ ${LIBWIRESHARK_PUBLIC_HEADERS}
+)
+
+set(LIBWIRESHARK_NONGENERATED_FILES
+ addr_and_mask.c
+ addr_resolv.c
+ address_types.c
+ afn.c
+ aftypes.c
+ app_mem_usage.c
+ asn1.c
+ capture_dissectors.c
+ charsets.c
+ color_filters.c
+ column.c
+ column-utils.c
+ conversation.c
+ conversation_table.c
+ crc10-tvb.c
+ crc16-tvb.c
+ crc32-tvb.c
+ crc6-tvb.c
+ crc8-tvb.c
+ decode_as.c
+ disabled_protos.c
+ conversation_filter.c
+ dvb_chartbl.c
+ enterprises.c
+ epan.c
+ ex-opt.c
+ except.c
+ expert.c
+ export_object.c
+ exported_pdu.c
+ fifo_string_cache.c
+ filter_expressions.c
+ follow.c
+ frame_data.c
+ frame_data_sequence.c
+ funnel.c
+ #geoip_db.c
+ golay.c
+ guid-utils.c
+ iana_charsets.c
+ in_cksum.c
+ introspection.c
+ ipproto.c
+ manuf.c
+ maxmind_db.c
+ media_params.c
+ next_tvb.c
+ oids.c
+ osi-utils.c
+ packet.c
+ pci-ids.c
+ plugin_if.c
+ print.c
+ print_stream.c
+ prefs.c
+ proto.c
+ proto_data.c
+ range.c
+ reassemble.c
+ reedsolomon.c
+ register.c
+ req_resp_hdrs.c
+ rtd_table.c
+ sctpppids.c
+ secrets.c
+ sequence_analysis.c
+ services.c
+ show_exception.c
+ srt_table.c
+ stat_tap_ui.c
+ stats_tree.c
+ strutil.c
+ stream.c
+ t35.c
+ tap.c
+ timestamp.c
+ timestats.c
+ tfs.c
+ to_str.c
+ tvbparse.c
+ tvbuff.c
+ tvbuff_base64.c
+ tvbuff_brotli.c
+ tvbuff_composite.c
+ tvbuff_real.c
+ tvbuff_subset.c
+ tvbuff_zlib.c
+ tvbuff_zstd.c
+ tvbuff_lz77.c
+ tvbuff_lz77huff.c
+ tvbuff_lznt1.c
+ tvbuff_rdp.c
+ uat.c
+ value_string.c
+ wscbor.c
+ unit_strings.c
+ wmem_scopes.c
+ xdlc.c
+ protobuf-helper.c
+ protobuf_lang_tree.c
+ ${CMAKE_CURRENT_BINARY_DIR}/ps.c
+)
+
+set(LIBWIRESHARK_FILES ${LIBWIRESHARK_NONGENERATED_FILES})
+
+add_lex_files(LEX_FILES LIBWIRESHARK_FILES
+ diam_dict.l
+ dtd_parse.l
+ dtd_preparse.l
+ radius_dict.l
+ uat_load.l
+ protobuf_lang_scanner.l
+)
+
+add_lemon_files(LEMON_FILES LIBWIRESHARK_FILES
+ dtd_grammar.lemon
+ protobuf_lang_parser.lemon
+)
+
+set_source_files_properties(
+ ${LIBWIRESHARK_NONGENERATED_FILES}
+ PROPERTIES
+ COMPILE_FLAGS "${WERROR_COMMON_FLAGS}"
+)
+
+add_library(epan
+ #Included so that Visual Studio can properly put header files in solution
+ ${LIBWIRESHARK_HEADER_FILES}
+
+ ${LIBWIRESHARK_FILES}
+ $<TARGET_OBJECTS:crypt>
+ $<TARGET_OBJECTS:dfilter>
+ $<TARGET_OBJECTS:dissectors>
+ $<TARGET_OBJECTS:dissectors-corba>
+ $<TARGET_OBJECTS:dissector-registration>
+ $<TARGET_OBJECTS:ftypes>
+ $<$<BOOL:${LUA_FOUND}>:$<TARGET_OBJECTS:wslua>>
+ ${CMAKE_BINARY_DIR}/resources/libwireshark.rc
+)
+
+set_target_properties(epan PROPERTIES
+ COMPILE_DEFINITIONS "WS_BUILD_DLL"
+ LINK_FLAGS "${WS_LINK_FLAGS}"
+ VERSION "17.0.2" SOVERSION 17
+ INSTALL_RPATH "${LIBRARY_INSTALL_RPATH}"
+ # By default the name for a library with target name epan will be libepan,
+ # but Ethereal is now named Wireshark
+ OUTPUT_NAME "wireshark"
+ PREFIX "lib"
+ FOLDER "DLLs"
+)
+if(MSVC)
+ set_target_properties(epan PROPERTIES LINK_FLAGS_DEBUG "${WS_MSVC_DEBUG_LINK_FLAGS}")
+endif()
+
+target_link_libraries(epan
+ PUBLIC
+ wsutil
+ ${GLIB2_LIBRARIES}
+ PRIVATE
+ wiretap
+ ${BROTLI_LIBRARIES}
+ ${CARES_LIBRARIES}
+ ${GCRYPT_LIBRARIES}
+ ${GIO2_LIBRARIES}
+ ${GNUTLS_LIBRARIES}
+ ${KERBEROS_LIBRARIES}
+ ${LIBXML2_LIBRARIES}
+ ${LUA_LIBRARIES}
+ ${LZ4_LIBRARIES}
+ ${M_LIBRARIES}
+ ${NGHTTP2_LIBRARIES}
+ ${NGHTTP3_LIBRARIES}
+ ${SMI_LIBRARIES}
+ ${SNAPPY_LIBRARIES}
+ ${WIN_PSAPI_LIBRARY}
+ ${WIN_WS2_32_LIBRARY}
+ ${ZLIB_LIBRARIES}
+ ${ZSTD_LIBRARIES}
+ $<$<BOOL:${LUA_FOUND}>:lrexlib>
+)
+
+target_include_directories(epan
+ SYSTEM PUBLIC
+ ${GLIB2_INCLUDE_DIRS}
+)
+
+target_include_directories(epan
+ INTERFACE
+ $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}>
+ $<INSTALL_INTERFACE:include/wireshark>
+)
+
+target_include_directories(epan
+ SYSTEM PRIVATE
+ ${BROTLI_INCLUDE_DIRS}
+ ${CARES_INCLUDE_DIRS}
+ ${GCRYPT_INCLUDE_DIRS}
+ ${GLIB2_INCLUDE_DIRS}
+ ${GNUTLS_INCLUDE_DIRS}
+ ${LIBXML2_INCLUDE_DIRS}
+ ${LUA_INCLUDE_DIRS}
+ ${LZ4_INCLUDE_DIRS}
+ ${NGHTTP2_INCLUDE_DIRS}
+ ${NGHTTP3_INCLUDE_DIRS}
+ ${SMI_INCLUDE_DIRS}
+ ${ZLIB_INCLUDE_DIRS}
+ ${ZSTD_INCLUDE_DIRS}
+ PRIVATE
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+)
+
+add_dependencies(epan lemon)
+
+install(TARGETS epan
+ EXPORT WiresharkTargets
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+)
+
+install(FILES ${LIBWIRESHARK_PUBLIC_HEADERS}
+ DESTINATION "${PROJECT_INSTALL_INCLUDEDIR}/epan"
+ COMPONENT "Development"
+ EXCLUDE_FROM_ALL
+)
+
+add_executable(exntest EXCLUDE_FROM_ALL exntest.c except.c)
+target_link_libraries(exntest epan)
+set_target_properties(exntest PROPERTIES
+ FOLDER "Tests"
+ EXCLUDE_FROM_DEFAULT_BUILD True
+ COMPILE_DEFINITIONS "WS_BUILD_DLL"
+ COMPILE_FLAGS "${WERROR_COMMON_FLAGS}"
+)
+
+add_executable(fifo_string_cache_test EXCLUDE_FROM_ALL fifo_string_cache_test.c)
+target_link_libraries(fifo_string_cache_test epan)
+set_target_properties(fifo_string_cache_test PROPERTIES
+ FOLDER "Tests"
+ EXCLUDE_FROM_DEFAULT_BUILD True
+ COMPILE_DEFINITIONS "WS_BUILD_DLL"
+ COMPILE_FLAGS "${WERROR_COMMON_FLAGS}"
+)
+
+add_executable(oids_test EXCLUDE_FROM_ALL oids_test.c)
+target_link_libraries(oids_test epan)
+set_target_properties(oids_test PROPERTIES
+ FOLDER "Tests"
+ EXCLUDE_FROM_DEFAULT_BUILD True
+ COMPILE_DEFINITIONS "WS_BUILD_DLL"
+ COMPILE_FLAGS "${WERROR_COMMON_FLAGS}"
+)
+
+add_executable(reassemble_test EXCLUDE_FROM_ALL reassemble_test.c)
+target_link_libraries(reassemble_test epan)
+set_target_properties(reassemble_test PROPERTIES
+ FOLDER "Tests"
+ EXCLUDE_FROM_DEFAULT_BUILD True
+ COMPILE_FLAGS "${WERROR_COMMON_FLAGS}"
+)
+
+add_executable(tvbtest EXCLUDE_FROM_ALL tvbtest.c)
+target_link_libraries(tvbtest epan)
+set_target_properties(tvbtest PROPERTIES
+ FOLDER "Tests"
+ EXCLUDE_FROM_DEFAULT_BUILD True
+ COMPILE_DEFINITIONS "WS_BUILD_DLL"
+ COMPILE_FLAGS "${WERROR_COMMON_FLAGS}"
+)
+
+add_executable(wscbor_test EXCLUDE_FROM_ALL wscbor_test.c)
+target_link_libraries(wscbor_test epan)
+set_target_properties(wscbor_test PROPERTIES
+ FOLDER "Tests"
+ EXCLUDE_FROM_DEFAULT_BUILD True
+ COMPILE_FLAGS "${WERROR_COMMON_FLAGS}"
+)
+
+add_executable(test_epan EXCLUDE_FROM_ALL test_epan.c)
+target_link_libraries(test_epan epan)
+set_target_properties(test_epan PROPERTIES
+ FOLDER "Tests"
+ EXCLUDE_FROM_DEFAULT_BUILD True
+ COMPILE_FLAGS "${WERROR_COMMON_FLAGS}"
+)
+
+CHECKAPI(
+ NAME
+ epan
+ SWITCHES
+ SOURCES
+ ${LIBWIRESHARK_NONGENERATED_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:
+#