diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
commit | e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc (patch) | |
tree | 68cb5ef9081156392f1dd62a00c6ccc1451b93df /epan/CMakeLists.txt | |
parent | Initial commit. (diff) | |
download | wireshark-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.txt | 481 |
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: +# |