# 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(DEFINED ENV{FORCE_CMAKE_NINJA_NON_VERBOSE})
#
# Forcibly unset CMAKE_VERBOSE_MAKEFILE,
# to make *CERTAIN* that we don't do
# anything verbose here!
#
unset(CMAKE_VERBOSE_MAKEFILE CACHE)
endif()
# Needed for add_custom_command() WORKING_DIRECTORY generator expressions
cmake_minimum_required(VERSION 3.13)
if(POLICY CMP0083)
cmake_policy(SET CMP0083 NEW)
endif()
if(POLICY CMP0092)
cmake_policy(SET CMP0092 NEW)
endif()
if(POLICY CMP0135)
cmake_policy(SET CMP0135 NEW)
endif()
if(WIN32 AND NOT DEFINED ENV{MSYSTEM})
set(_project_name Wireshark)
set(_log_project_name Logray)
else()
set(_project_name wireshark)
set(_log_project_name logray)
endif()
project(${_project_name} C CXX)
if(WIN32)
set(_msystem False)
set(_repository False)
if(DEFINED ENV{MSYSTEM})
set(_msystem $ENV{MSYSTEM})
message(STATUS "Using MSYS2 with MSYSTEM=${_msystem}")
elseif(MSVC)
set(_repository True)
message(STATUS "Using 3rd party repository")
else()
# Neither own package repository nor MSYS2 repository.
endif()
set(USE_MSYSTEM ${_msystem} CACHE INTERNAL "Use MSYS2 subsystem")
set(HAVE_MSYSTEM ${USE_MSYSTEM}) # For config.h
set(USE_REPOSITORY ${_repository} CACHE INTERNAL "Use Wireshark 3rd Party Repository")
endif()
# Updated by tools/make-version.py
set(PROJECT_MAJOR_VERSION 4)
set(PROJECT_MINOR_VERSION 2)
set(PROJECT_PATCH_VERSION 0)
set(PROJECT_BUILD_VERSION 0)
set(PROJECT_VERSION_EXTENSION "")
if(DEFINED ENV{WIRESHARK_VERSION_EXTRA})
set(PROJECT_VERSION_EXTENSION "$ENV{WIRESHARK_VERSION_EXTRA}")
endif()
set(PROJECT_VERSION "${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_PATCH_VERSION}${PROJECT_VERSION_EXTENSION}")
set(LOG_PROJECT_NAME ${_log_project_name})
set(LOG_PROJECT_MAJOR_VERSION 0)
set(LOG_PROJECT_MINOR_VERSION 8)
set(LOG_PROJECT_PATCH_VERSION 3)
set(LOG_PROJECT_VERSION "${LOG_PROJECT_MAJOR_VERSION}.${LOG_PROJECT_MINOR_VERSION}.${LOG_PROJECT_PATCH_VERSION}${PROJECT_VERSION_EXTENSION}")
include( CMakeOptions.txt )
# We require minimum C11
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)
# We require minimum C++11
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
message(STATUS "Generating build using CMake ${CMAKE_VERSION}")
if(USE_MSYSTEM)
# Use the deprecated FindPythonInterp.cmake module to Work around bugs and odd behavior in MSYS2 CMake
# searching in the wrong paths for python3.exe using FindPython3.cmake
find_package(PythonInterp REQUIRED)
set(Python3_EXECUTABLE ${PYTHON_EXECUTABLE} CACHE FILEPATH "")
else()
find_package(Python3 3.6 REQUIRED)
endif()
# Set a default build type if none was specified
set(_default_build_type "RelWithDebInfo")
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
set(CMAKE_BUILD_TYPE "${_default_build_type}" CACHE STRING "Choose the type of build." FORCE)
# Set the possible values of build type for cmake-gui
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
endif()
# Build type is ignored by multi-config generators.
if (NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "Using \"${CMAKE_GENERATOR}\" generator and build type \"${CMAKE_BUILD_TYPE}\"")
else()
message(STATUS "Using \"${CMAKE_GENERATOR}\" generator (multi-config)")
endif()
#Where to find local cmake scripts
set(WS_CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
set(CMAKE_MODULE_PATH ${WS_CMAKE_MODULE_PATH})
# CMake >= 3.9.0 supports LTO/IPO.
if (ENABLE_LTO)
include(CheckIPOSupported)
check_ipo_supported(RESULT lto_supported OUTPUT lto_output)
if(lto_supported)
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE TRUE)
message(STATUS "LTO/IPO is enabled for Release configuration")
else()
message(STATUS "LTO/IPO requested but it is not supported by the compiler: ${lto_output}")
endif()
else()
message(STATUS "LTO/IPO is not enabled")
endif()
# If our target platform is enforced by our generator, set
# WIRESHARK_TARGET_PLATFORM accordingly. Otherwise use
# %WIRESHARK_TARGET_PLATFORM%.
if(WIN32)
if(DEFINED ENV{WIRESHARK_TARGET_PLATFORM})
string(TOLOWER $ENV{WIRESHARK_TARGET_PLATFORM} _target_platform)
set(WIRESHARK_TARGET_PLATFORM ${_target_platform})
elseif(USE_MSYSTEM MATCHES "MINGW64|CLANG64|UCRT64")
# https://www.msys2.org/docs/environments
# MSYS2 comes with different environments/subsystems and
# the first thing you have to decide is which one to use.
# The differences among the environments are mainly environment
# variables, default compilers/linkers, architecture,
# system libraries used etc. If you are unsure, go with UCRT64.
set(WIRESHARK_TARGET_PLATFORM x64)
elseif(USE_MSYSTEM)
if($ENV{MSYSTEM_CARCH} MATCHES "x86_64")
set(WIRESHARK_TARGET_PLATFORM x64)
elseif($ENV{MSYSTEM_CARCH} MATCHES "i686")
set(WIRESHARK_TARGET_PLATFORM win32)
elseif($ENV{MSYSTEM_CARCH} MATCHES "aarch64")
set(WIRESHARK_TARGET_PLATFORM "arm64")
else()
set(WIRESHARK_TARGET_PLATFORM "$ENV{MSYSTEM_CARCH}")
endif()
elseif($ENV{Platform} MATCHES arm64 OR CMAKE_GENERATOR_PLATFORM MATCHES arm64)
set(WIRESHARK_TARGET_PLATFORM arm64)
elseif(CMAKE_CL_64 OR CMAKE_GENERATOR MATCHES x64)
set(WIRESHARK_TARGET_PLATFORM x64)
else()
message(WARNING "Assuming \"x64\" target platform")
set(WIRESHARK_TARGET_PLATFORM x64)
endif()
if(WIRESHARK_TARGET_PLATFORM MATCHES "win32")
message(FATAL_ERROR "Deprecated target platform ${WIRESHARK_TARGET_PLATFORM}. See https://gitlab.com/wireshark/wireshark/-/issues/17779 for details.")
elseif(NOT (WIRESHARK_TARGET_PLATFORM MATCHES "x64" OR WIRESHARK_TARGET_PLATFORM MATCHES "arm64"))
message(FATAL_ERROR "Invalid target platform: ${WIRESHARK_TARGET_PLATFORM}")
endif()
# Sanity check
if(MSVC AND DEFINED ENV{PLATFORM})
string(TOLOWER $ENV{PLATFORM} _vs_platform)
if(
(_vs_platform STREQUAL "x64" AND NOT WIRESHARK_TARGET_PLATFORM STREQUAL "x64")
OR
(_vs_platform STREQUAL "arm64" AND NOT WIRESHARK_TARGET_PLATFORM STREQUAL "arm64")
)
message(FATAL_ERROR "The PLATFORM environment variable (${_vs_platform})"
" doesn't match the generator platform (${WIRESHARK_TARGET_PLATFORM})")
endif()
endif()
message(STATUS
"Building for ${WIRESHARK_TARGET_PLATFORM}"
)
if(NOT CMAKE_CROSSCOMPILING)
find_package(PowerShell REQUIRED)
endif()
# Determine where the 3rd party libraries will be
if(USE_REPOSITORY)
if( DEFINED ENV{WIRESHARK_LIB_DIR} )
# The buildbots set WIRESHARK_LIB_DIR but not WIRESHARK_BASE_DIR.
file( TO_CMAKE_PATH "$ENV{WIRESHARK_LIB_DIR}" _PROJECT_LIB_DIR )
elseif( DEFINED ENV{WIRESHARK_BASE_DIR} )
file( TO_CMAKE_PATH "$ENV{WIRESHARK_BASE_DIR}" _WS_BASE_DIR )
set( _PROJECT_LIB_DIR "${_WS_BASE_DIR}/wireshark-${WIRESHARK_TARGET_PLATFORM}-libs-4.2" )
else()
# Don't know what to do
message(FATAL_ERROR "Neither WIRESHARK_BASE_DIR or WIRESHARK_LIB_DIR are defined")
endif()
# Download third-party libraries
file (TO_NATIVE_PATH ${CMAKE_SOURCE_DIR}/tools/win-setup.ps1 _win_setup)
file (TO_NATIVE_PATH ${_PROJECT_LIB_DIR} _ws_lib_dir)
file (TO_NATIVE_PATH ${CMAKE_COMMAND} _win_cmake_command)
# Is it possible to have a one-time, non-cached option in CMake? If
# so, we could add a "-DFORCE_WIN_SETUP" which passes -Force to
# win-setup.ps1.
execute_process(
COMMAND ${POWERSHELL_COMMAND} "\"${_win_setup}\"" -Destination "${_ws_lib_dir}" -Platform ${WIRESHARK_TARGET_PLATFORM} -CMakeExecutable "\"${_win_cmake_command}\""
RESULT_VARIABLE _win_setup_failed
ERROR_VARIABLE _win_setup_error_output
)
if(_win_setup_failed)
message(FATAL_ERROR "Windows setup (win-setup.ps1) failed: ${_win_setup_error_output}.")
endif()
set(EXTRA_INSTALLER_DIR ${_ws_lib_dir})
# XXX Add a dependency on ${_ws_lib_dir}/current_tag.txt?
else()
set(EXTRA_INSTALLER_DIR ${CMAKE_BINARY_DIR}/pa
没有合适的资源?快使用搜索试试~ 我知道了~
wireshark-4.2.0源代码
共2000个文件
c:1238个
h:513个
txt:108个
需积分: 0 1 下载量 70 浏览量
2024-03-12
10:14:20
上传
评论
收藏 53.22MB RAR 举报
温馨提示
wireshark-4.2.0源代码用来网络分析工具,本次上传版本是2023年12.26日下载的给有需要的朋友使用
资源推荐
资源详情
资源评论
收起资源包目录
wireshark-4.2.0源代码 (2000个子文件)
packet-rrc.c 9.47MB
packet-nr-rrc.c 7.53MB
packet-parlay.c 3.74MB
packet-rnsap.c 3.15MB
packet-ieee80211.c 2.23MB
packet-f1ap.c 2.15MB
packet-gsm_map.c 1.48MB
packet-x2ap.c 1.34MB
usb.c 1.08MB
packet-woww.c 1.05MB
packet-dcerpc-drsuapi.c 1.03MB
packet-dcerpc-srvsvc.c 1009KB
packet-s1ap.c 992KB
packet-zbee-zcl-se.c 873KB
packet-lbmc.c 861KB
packet-e2ap.c 860KB
packet-gsm_rlcmac.c 797KB
packet-rtps.c 759KB
packet-btatt.c 756KB
packet-zbee-zcl-general.c 735KB
packet-bgp.c 734KB
packet-mbim.c 723KB
packet-qsig.c 707KB
packet-pfcp.c 702KB
packet-dcerpc-pn-io.c 699KB
packet-opa-mad.c 674KB
packet-gsm_a_rr.c 657KB
packet-smb.c 649KB
packet-cigi.c 578KB
packet-z3950.c 565KB
packet-amqp.c 564KB
packet-dcerpc-wkssvc.c 553KB
packet-inap.c 547KB
packet-dcerpc-svcctl.c 531KB
packet-h225.c 522KB
packet-gtpv2.c 515KB
packet-p1.c 507KB
packet-ain.c 506KB
packet-bthci_cmd.c 503KB
packet-ff.c 491KB
packet-mac-lte.c 481KB
packet-s7comm.c 472KB
packet-rrlp.c 468KB
packet-nfs.c 466KB
packet-camel.c 465KB
packet-openflow_v6.c 457KB
packet-skinny.c 456KB
packet-cip.c 452KB
packet-ieee1905.c 450KB
packet-smb2.c 450KB
packet-bthci_evt.c 449KB
packet-assa_r3.c 444KB
packet-dis.c 433KB
packet-dof.c 432KB
packet-docsis-macmgmt.c 415KB
packet-ndps.c 410KB
packet-dhcp.c 409KB
packet-ptp.c 403KB
packet-infiniband.c 398KB
packet-lustre.c 388KB
packet-dcerpc-netlogon.c 380KB
packet-kafka.c 377KB
packet-gprscdr.c 370KB
packet-scsi.c 369KB
packet-atn-cpdlc.c 348KB
packet-lbmr.c 348KB
packet-acn.c 340KB
packet-gsm_a_gm.c 337KB
packet-wassp.c 331KB
packet-s7comm_szl_ids.c 329KB
packet-isakmp.c 329KB
packet-ieee17221.c 327KB
packet-bssgp.c 325KB
packet-ppp.c 324KB
packet-ieee802154.c 323KB
packet-artnet.c 320KB
packet-h248.c 316KB
packet-openflow_v4.c 314KB
packet-HI2Operations.c 314KB
packet-btsdp.c 306KB
packet-ceph.c 300KB
packet-mq.c 288KB
packet-umts_fp.c 284KB
packet-p22.c 282KB
packet-dap.c 281KB
packet-h450.c 281KB
packet-btle.c 280KB
packet-isis-lsp.c 277KB
packet-ilp.c 264KB
packet-cdma2k.c 260KB
packet-ua3g.c 260KB
packet-h282.c 259KB
packet-rdm.c 258KB
packet-isobus-vt.c 257KB
packet-dcerpc-winreg.c 256KB
packet-diameter_3gpp.c 254KB
packet-tn3270.c 252KB
packet-ospf.c 249KB
packet-cops.c 241KB
packet-dns.c 239KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
愚梦者
- 粉丝: 2156
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功