1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296 |
- cmake_minimum_required(VERSION 2.8.6)
- if(POLICY CMP0042)
- cmake_policy(SET CMP0042 OLD)
- endif()
- set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)
- project(pcap)
- include(CheckCCompilerFlag)
- macro(check_and_add_compiler_option _option)
- message(STATUS "Checking C compiler flag ${_option}")
- string(REPLACE "=" "-" _temp_option_variable ${_option})
- string(REGEX REPLACE "^-" "" _option_variable ${_temp_option_variable})
- check_c_compiler_flag("${_option}" ${_option_variable})
- if(${${_option_variable}})
- set(C_ADDITIONAL_FLAGS "${C_ADDITIONAL_FLAGS} ${_option}")
- endif()
- endmacro()
- set(C_ADDITIONAL_FLAGS "")
- if(CMAKE_C_COMPILER_ID MATCHES "GNU" OR
- CMAKE_C_COMPILER_ID MATCHES "Clang")
- check_and_add_compiler_option("-std=gnu99")
- elseif(CMAKE_C_COMPILER_ID MATCHES "XL")
-
-
-
-
- check_and_add_compiler_option("-qlanglvl=extc99")
- elseif(CMAKE_C_COMPILER_ID MATCHES "HP")
- check_and_add_compiler_option("-AC99")
- elseif(CMAKE_C_COMPILER_ID MATCHES "Sun")
- check_and_add_compiler_option("-xc99")
- elseif(CMAKE_C_COMPILER_ID MATCHES "Intel")
- check_and_add_compiler_option("-c99")
- endif()
- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/run)
- if(WIN32)
-
-
-
-
-
- set(LIBRARY_NAME pcap CACHE STRING "Library name")
- else()
-
-
-
- set(LIBRARY_NAME pcap)
- endif()
- option(INET6 "Enable IPv6" ON)
- if(WIN32)
- option(USE_STATIC_RT "Use static Runtime" ON)
- endif(WIN32)
- option(BUILD_SHARED_LIBS "Build shared libraries" ON)
- if(WIN32)
- set(PACKET_DLL_DIR "" CACHE PATH "Path to directory with include and lib subdirectories for packet.dll")
- endif(WIN32)
- option(NO_PROTOCHAIN "Disable protochain instruction" OFF)
- set(PCAP_TYPE "" CACHE STRING "Packet capture type")
- if(WIN32)
- option(ENABLE_REMOTE "Enable remote capture" ON)
- else()
- option(ENABLE_REMOTE "Enable remote capture" OFF)
- endif(WIN32)
- if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
- option(PCAP_SUPPORT_PACKET_RING "Enable Linux packet ring support" ON)
- option(BUILD_WITH_LIBNL "Build with libnl" ON)
- endif()
- if(APPLE AND "${CMAKE_OSX_ARCHITECTURES}" STREQUAL "")
-
-
-
- string(REGEX MATCH "^([0-9]+)" SYSTEM_VERSION_MAJOR "${CMAKE_SYSTEM_VERSION}")
- if(SYSTEM_VERSION_MAJOR LESS 8)
-
-
-
- set(CMAKE_OSX_ARCHITECTURES "ppc")
- elseif(SYSTEM_VERSION_MAJOR EQUAL 8)
-
-
-
-
-
- string(REPLACE "${SYSTEM_VERSION_MAJOR}." "" SYSTEM_MINOR_AND_PATCH_VERSION ${CMAKE_SYSTEM_VERSION})
- string(REGEX MATCH "^([0-9]+)" SYSTEM_VERSION_MINOR "${SYSTEM_MINOR_AND_PATCH_VERSION}")
- if(SYSTEM_VERSION_MINOR LESS 4)
-
-
-
-
-
- set(CMAKE_OSX_ARCHITECTURES "ppc;ppc64")
- elseif(SYSTEM_VERSION_MINOR LESS 7)
-
-
-
-
-
-
- set(CMAKE_OSX_ARCHITECTURES "ppc;ppc64;i386")
- else()
-
-
-
-
-
-
- set(CMAKE_OSX_ARCHITECTURES "ppc;ppc64;i386;x86_64")
- endif()
- elseif(SYSTEM_VERSION_MAJOR EQUAL 9)
-
-
-
-
-
- set(CMAKE_OSX_ARCHITECTURES "ppc;ppc64;i386;x86_64")
- elseif(SYSTEM_VERSION_MAJOR EQUAL 10)
-
-
-
-
-
-
-
-
-
- set(CMAKE_OSX_ARCHITECTURES "x86_64;i386;ppc")
- else()
-
-
-
-
-
-
-
- set(CMAKE_OSX_ARCHITECTURES "x86_64;i386")
- endif()
- endif()
- option(DISABLE_USB "Disable USB sniffing support" OFF)
- option(DISABLE_BLUETOOTH "Disable Bluetooth sniffing support" OFF)
- option(DISABLE_NETMAP "Disable netmap support" OFF)
- if(APPLE)
- option(DISABLE_DBUS "Disable D-Bus sniffing support" ON)
- else(APPLE)
- option(DISABLE_DBUS "Disable D-Bus sniffing support" OFF)
- endif(APPLE)
- option(DISABLE_RDMA "Disable RDMA sniffing support" OFF)
- option(DISABLE_DAG "Disable Endace DAG card support" OFF)
- option(DISABLE_SEPTEL "Disable Septel card support" OFF)
- set(SEPTEL_ROOT "${CMAKE_SOURCE_DIR}/../septel" CACHE PATH "Path to directory with include and lib subdirectories for Septel API")
- option(DISABLE_SNF "Disable Myricom SNF support" OFF)
- option(DISABLE_TC "Disable Riverbed TurboCap support" OFF)
- option(BDEBUG "Build optimizer debugging code" OFF)
- option(YYDEBUG "Build parser debugging code" OFF)
- file(STRINGS ${pcap_SOURCE_DIR}/VERSION
- PACKAGE_VERSION
- LIMIT_COUNT 1
- )
- string(REGEX MATCH "^([0-9]+)" PACKAGE_VERSION_MAJOR "${PACKAGE_VERSION}")
- string(REGEX MATCH "^([0-9]+.)?([0-9]+.)?([0-9]+)" PACKAGE_VERSION_NOSUFFIX "${PACKAGE_VERSION}")
- if(WIN32)
-
- string(REPLACE "." "," PACKAGE_VERSION_PREDLL ${PACKAGE_VERSION_NOSUFFIX})
-
-
- set(PACKAGE_VERSION_DLL ${PACKAGE_VERSION_PREDLL},0)
- endif(WIN32)
- set(PACKAGE_NAME "${LIBRARY_NAME}")
- set(PACKAGE_STRING "${LIBRARY_NAME} ${PACKAGE_VERSION}")
- add_definitions(-DHAVE_CONFIG_H)
- include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${pcap_SOURCE_DIR}
- )
- include(CheckFunctionExists)
- include(CMakePushCheckState)
- if(WIN32)
- if(IS_DIRECTORY ${CMAKE_HOME_DIRECTORY}/../../Common)
- include_directories(${CMAKE_HOME_DIRECTORY}/../../Common)
- endif(IS_DIRECTORY ${CMAKE_HOME_DIRECTORY}/../../Common)
- find_package(Packet)
- if(PACKET_FOUND)
- set(HAVE_PACKET32 TRUE)
- include_directories(${PACKET_INCLUDE_DIRS})
-
-
-
-
- cmake_push_check_state()
- set(CMAKE_REQUIRED_LIBRARIES ${PACKET_LIBRARIES})
- check_function_exists(PacketIsLoopbackAdapter HAVE_PACKET_IS_LOOPBACK_ADAPTER)
- cmake_pop_check_state()
- endif(PACKET_FOUND)
- endif(WIN32)
- if(MSVC)
- add_definitions(-D__STDC__)
- add_definitions(-D_CRT_SECURE_NO_WARNINGS)
- endif(MSVC)
- if(USE_STATIC_RT)
- message(STATUS "Use STATIC runtime")
- if(MSVC)
- foreach(RT_FLAG
- CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
- CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO
- CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
- CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
- string(REGEX REPLACE "/MD" "/MT" ${RT_FLAG} "${${RT_FLAG}}")
- endforeach(RT_FLAG)
- elseif(MINGW)
- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -static-libgcc")
- endif()
- else (USE_STATIC_RT)
- message(STATUS "Use DYNAMIC runtime")
- endif(USE_STATIC_RT)
- include(CheckIncludeFile)
- include(CheckIncludeFiles)
- include(CheckStructHasMember)
- include(CheckTypeSize)
- check_include_file(inttypes.h HAVE_INTTYPES_H)
- check_include_file(stdint.h HAVE_STDINT_H)
- check_include_file(unistd.h HAVE_UNISTD_H)
- if(NOT HAVE_UNISTD_H)
- add_definitions(-DYY_NO_UNISTD_H)
- endif(NOT HAVE_UNISTD_H)
- check_include_file(bitypes.h HAVE_SYS_BITYPES_H)
- if(NOT WIN32)
- check_include_file(sys/ioccom.h HAVE_SYS_IOCCOM_H)
- check_include_file(sys/sockio.h HAVE_SYS_SOCKIO_H)
- check_include_file(sys/select.h HAVE_SYS_SELECT_H)
- endif(NOT WIN32)
- check_include_file(limits.h HAVE_LIMITS_H)
- if(NOT WIN32)
- check_include_file(netpacket/packet.h HAVE_NETPACKET_PACKET_H)
- check_include_files("sys/types.h;sys/socket.h;net/if.h;net/pfvar.h" HAVE_NET_PFVAR_H)
- if(HAVE_NET_PFVAR_H)
-
-
-
- check_c_source_compiles(
- "#include <sys/types.h>
- #include <sys/socket.h>
- #include <net/if.h>
- #include <net/pfvar.h>
- int
- main(void)
- {
- return PF_NAT+PF_NONAT+PF_BINAT+PF_NOBINAT+PF_RDR+PF_NORDR;
- }
- "
- HAVE_PF_NAT_THROUGH_PF_NORDR)
- endif(HAVE_NET_PFVAR_H)
- check_include_file(netinet/if_ether.h HAVE_NETINET_IF_ETHER_H)
- if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
- check_include_file(linux/sockios.h HAVE_LINUX_SOCKIOS_H)
-
-
-
- check_include_files("sys/socket.h;linux/if_bonding.h" HAVE_LINUX_IF_BONDING_H)
- endif()
- endif(NOT WIN32)
- check_function_exists(strerror HAVE_STRERROR)
- check_function_exists(strerror_r HAVE_STRERROR_R)
- check_function_exists(strerror_s HAVE_STRERROR_S)
- check_function_exists(strlcpy HAVE_STRLCPY)
- check_function_exists(strlcat HAVE_STRLCAT)
- check_function_exists(snprintf HAVE_SNPRINTF)
- check_function_exists(vsnprintf HAVE_VSNPRINTF)
- check_function_exists(strtok_r HAVE_STRTOK_R)
- set(PCAP_LINK_LIBRARIES "")
- include(CheckLibraryExists)
- include(CheckSymbolExists)
- if(WIN32)
-
-
-
- cmake_push_check_state()
- set(CMAKE_REQUIRED_LIBRARIES ws2_32)
- check_symbol_exists(getaddrinfo "winsock2.h;ws2tcpip.h" LIBWS2_32_HAS_GETADDRINFO)
- cmake_pop_check_state()
- if(LIBWS2_32_HAS_GETADDRINFO)
- set(PCAP_LINK_LIBRARIES ws2_32 ${PCAP_LINK_LIBRARIES})
- else(LIBWS2_32_HAS_GETADDRINFO)
- message(FATAL_ERROR "getaddrinfo is required, but wasn't found")
- endif(LIBWS2_32_HAS_GETADDRINFO)
- else(WIN32)
-
-
-
-
-
- check_function_exists(getaddrinfo STDLIBS_HAVE_GETADDRINFO)
- if(NOT STDLIBS_HAVE_GETADDRINFO)
-
-
-
-
- cmake_push_check_state()
- set(CMAKE_REQUIRED_LIBRARIES nsl)
- check_library_exists(socket getaddrinfo "" LIBSOCKET_HAS_GETADDRINFO)
- cmake_pop_check_state()
- if(LIBSOCKET_HAS_GETADDRINFO)
-
-
-
- set(PCAP_LINK_LIBRARIES socket nsl ${PCAP_LINK_LIBRARIES})
- else(LIBSOCKET_HAS_GETADDRINFO)
-
-
-
- message(FATAL_ERROR "getaddrinfo is required, but wasn't found")
- endif(LIBSOCKET_HAS_GETADDRINFO)
-
-
-
-
- cmake_push_check_state()
- set(CMAKE_REQUIRED_LIBRARIES socket nsl)
- check_library_exists(xnet recvmsg "" LIBXNET_HAS_RECVMSG)
- cmake_pop_check_state()
- if(LIBXNET_HAS_RECVMSG)
-
-
-
- set(PCAP_LINK_LIBRARIES xnet ${PCAP_LINK_LIBRARIES})
- endif(LIBXNET_HAS_RECVMSG)
- endif(NOT STDLIBS_HAVE_GETADDRINFO)
-
- check_function_exists(putmsg STDLIBS_HAVE_PUTMSG)
- if(NOT STDLIBS_HAVE_PUTMSG)
- check_library_exists(str putmsg "" LIBSTR_HAS_PUTMSG)
- if(LIBSTR_HAS_PUTMSG)
- set(PCAP_LINK_LIBRARIES str ${PCAP_LINK_LIBRARIES})
- endif(LIBSTR_HAS_PUTMSG)
- endif(NOT STDLIBS_HAVE_PUTMSG)
- endif(WIN32)
- cmake_push_check_state()
- set(CMAKE_REQUIRED_LIBRARIES ${PCAP_LINK_LIBRARIES})
- check_symbol_exists(getnetbyname_r netdb.h NETDB_H_DECLARES_GETNETBYNAME_R)
- if(NETDB_H_DECLARES_GETNETBYNAME_R)
- check_c_source_compiles(
- "#include <netdb.h>
- int
- main(void)
- {
- struct netent netent_buf;
- char buf[1024];
- struct netent *resultp;
- int h_errnoval;
- return getnetbyname_r((const char *)0, &netent_buf, buf, sizeof buf, &resultp, &h_errnoval);
- }
- "
- HAVE_LINUX_GETNETBYNAME_R)
- if(NOT HAVE_LINUX_GETNETBYNAME_R)
- check_c_source_compiles(
- "#include <netdb.h>
- int
- main(void)
- {
- struct netent netent_buf;
- char buf[1024];
- return getnetbyname_r((const char *)0, &netent_buf, buf, (int)sizeof buf) != NULL;
- }
- "
- HAVE_SOLARIS_IRIX_GETNETBYNAME_R)
- if(NOT HAVE_SOLARIS_IRIX_GETNETBYNAME_R)
- check_c_source_compiles(
- "#include <netdb.h>
- int
- main(void)
- {
- struct netent netent_buf;
- struct netent_data net_data;
- return getnetbyname_r((const char *)0, &netent_buf, &net_data);
- }
- "
- HAVE_AIX_GETNETBYNAME_R)
- endif(NOT HAVE_SOLARIS_IRIX_GETNETBYNAME_R)
- endif(NOT HAVE_LINUX_GETNETBYNAME_R)
- endif(NETDB_H_DECLARES_GETNETBYNAME_R)
- cmake_pop_check_state()
- cmake_push_check_state()
- set(CMAKE_REQUIRED_LIBRARIES ${PCAP_LINK_LIBRARIES})
- check_symbol_exists(getprotobyname_r netdb.h NETDB_H_DECLARES_GETPROTOBYNAME_R)
- if(NETDB_H_DECLARES_GETPROTOBYNAME_R)
- check_c_source_compiles(
- "#include <netdb.h>
- int
- main(void)
- {
- struct protoent protoent_buf;
- char buf[1024];
- struct protoent *resultp;
- return getprotobyname_r((const char *)0, &protoent_buf, buf, sizeof buf, &resultp);
- }
- "
- HAVE_LINUX_GETPROTOBYNAME_R)
- if(NOT HAVE_LINUX_GETPROTOBYNAME_R)
- check_c_source_compiles(
- "#include <netdb.h>
- int
- main(void)
- {
- struct protoent protoent_buf;
- char buf[1024];
- return getprotobyname_r((const char *)0, &protoent_buf, buf, (int)sizeof buf) != NULL;
- }
- "
- HAVE_SOLARIS_IRIX_GETPROTOBYNAME_R)
- if(NOT HAVE_SOLARIS_IRIX_GETPROTOBYNAME_R)
- check_c_source_compiles(
- "#include <netdb.h>
- int
- main(void)
- {
- struct protoent protoent_buf;
- struct protoent_data proto_data;
- return getprotobyname_r((const char *)0, &protoent_buf, &proto_data);
- }
- "
- HAVE_AIX_GETPROTOBYNAME_R)
- endif(NOT HAVE_SOLARIS_IRIX_GETPROTOBYNAME_R)
- endif(NOT HAVE_LINUX_GETPROTOBYNAME_R)
- endif(NETDB_H_DECLARES_GETPROTOBYNAME_R)
- cmake_pop_check_state()
- cmake_push_check_state()
- if(WIN32)
- set(CMAKE_EXTRA_INCLUDE_FILES winsock2.h)
- else(WIN32)
- set(CMAKE_EXTRA_INCLUDE_FILES unistd.h sys/socket.h)
- endif(WIN32)
- check_type_size("struct sockaddr_storage" STRUCT_SOCKADDR_STORAGE)
- check_type_size("socklen_t" SOCKLEN_T)
- cmake_pop_check_state()
- if(WIN32)
- check_struct_has_member("struct sockaddr" sa_len winsock2.h HAVE_STRUCT_SOCKADDR_SA_LEN)
- else(WIN32)
- check_struct_has_member("struct sockaddr" sa_len sys/socket.h HAVE_STRUCT_SOCKADDR_SA_LEN)
- endif(WIN32)
- check_function_exists(ffs HAVE_FFS)
- if(HAVE_FFS)
-
-
-
-
-
-
- check_symbol_exists(ffs strings.h STRINGS_H_DECLARES_FFS)
- endif()
- cmake_push_check_state()
- set(CMAKE_REQUIRED_LIBRARIES ${PCAP_LINK_LIBRARIES})
- check_function_exists(ether_hostton HAVE_ETHER_HOSTTON)
- if(HAVE_ETHER_HOSTTON)
-
-
-
-
-
-
- check_symbol_exists(ether_hostton net/ethernet.h NET_ETHERNET_H_DECLARES_ETHER_HOSTTON)
- if(NET_ETHERNET_H_DECLARES_ETHER_HOSTTON)
-
-
-
- set(HAVE_DECL_ETHER_HOSTTON TRUE)
- endif()
-
-
-
- if(NOT HAVE_DECL_ETHER_HOSTTON)
-
-
-
-
-
-
- check_symbol_exists(ether_hostton netinet/ether.h NETINET_ETHER_H_DECLARES_ETHER_HOSTTON)
- if(NETINET_ETHER_H_DECLARES_ETHER_HOSTTON)
-
-
-
- set(HAVE_DECL_ETHER_HOSTTON TRUE)
- endif()
- endif()
-
-
-
- if(NOT HAVE_DECL_ETHER_HOSTTON)
-
-
-
-
-
-
- check_symbol_exists(ether_hostton sys/ethernet.h SYS_ETHERNET_H_DECLARES_ETHER_HOSTTON)
- if(SYS_ETHERNET_H_DECLARES_ETHER_HOSTTON)
-
-
-
- set(HAVE_DECL_ETHER_HOSTTON TRUE)
- endif()
- endif()
-
-
-
- if(NOT HAVE_DECL_ETHER_HOSTTON)
-
-
-
-
-
-
- check_symbol_exists(ether_hostton arpa/inet.h ARPA_INET_H_DECLARES_ETHER_HOSTTON)
- if(ARPA_INET_H_DECLARES_ETHER_HOSTTON)
-
-
-
- set(HAVE_DECL_ETHER_HOSTTON TRUE)
- endif()
- endif()
-
-
-
- if(NOT HAVE_DECL_ETHER_HOSTTON)
-
-
-
-
-
-
-
-
-
-
- check_symbol_exists(ether_hostton "sys/types.h;sys/socket.h;net/if.h;netinet/in.h;netinet/if_ether.h" NETINET_IF_ETHER_H_DECLARES_ETHER_HOSTTON)
- if(NETINET_IF_ETHER_H_DECLARES_ETHER_HOSTTON)
-
-
-
- set(HAVE_DECL_ETHER_HOSTTON TRUE)
- endif()
- endif()
-
-
-
- if(NOT HAVE_DECL_ETHER_HOSTTON)
-
-
-
-
-
-
-
-
- cmake_push_check_state()
- set(CMAKE_EXTRA_INCLUDE_FILES sys/types.h sys/socket.h net/if.h netinet/in.h netinet/if_ether.h)
- check_type_size("struct ether_addr" STRUCT_ETHER_ADDR)
- cmake_pop_check_state()
- endif()
- endif()
- cmake_pop_check_state()
- if(NOT WIN32)
- include(FindLFS)
- if(LFS_FOUND)
-
-
-
- add_definitions(${LFS_DEFINITIONS})
- endif()
-
-
-
- include(FindFseeko)
- if(FSEEKO_FOUND)
- set(HAVE_FSEEKO ON)
-
-
-
- add_definitions(${FSEEKO_DEFINITIONS})
- endif()
- endif()
- if(INET6)
- message(STATUS "Support IPv6")
- endif(INET6)
- if(NOT WIN32)
- set(CMAKE_THREAD_PREFER_PTHREAD ON)
- find_package(Threads)
- if(NOT CMAKE_USE_PTHREADS_INIT)
-
-
-
-
- set(CMAKE_THREAD_LIBS_INIT "")
- endif(NOT CMAKE_USE_PTHREADS_INIT)
- endif(NOT WIN32)
- set(PROJECT_SOURCE_LIST_C
- bpf_dump.c
- bpf_filter.c
- bpf_image.c
- etherent.c
- fmtutils.c
- gencode.c
- nametoaddr.c
- optimize.c
- pcap-common.c
- pcap.c
- savefile.c
- sf-pcapng.c
- sf-pcap.c
- )
- if(WIN32)
- set(PROJECT_SOURCE_LIST_C ${PROJECT_SOURCE_LIST_C} missing/win_snprintf.c)
- else()
- if(NOT HAVE_SNPRINTF)
- set(PROJECT_SOURCE_LIST_C ${PROJECT_SOURCE_LIST_C} missing/snprintf.c)
- endif(NOT HAVE_SNPRINTF)
- if(NOT HAVE_STRTOK_R)
- set(PROJECT_SOURCE_LIST_C ${PROJECT_SOURCE_LIST_C} missing/strtok_r.c)
- endif(NOT HAVE_STRTOK_R)
- endif(WIN32)
- if(WIN32)
-
-
-
-
-
- if(PCAP_TYPE STREQUAL "")
-
-
-
-
- if(HAVE_PACKET32)
-
-
-
-
- set(PCAP_TYPE npf)
- else()
-
-
-
-
-
- set(PCAP_TYPE null)
- endif()
- endif()
- else()
-
-
-
-
-
-
-
-
-
- if(PCAP_TYPE STREQUAL "")
-
-
-
- check_include_files("sys/types.h;net/bpf.h" HAVE_NET_BPF_H)
- if(HAVE_NET_BPF_H)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- if(HAVE_SYS_IOCCOM_H)
- check_symbol_exists(BIOCSETIF "sys/types.h;sys/ioctl.h;sys/socket.h;sys/ioccom.h;net/bpf.h;net/if.h" BPF_H_DEFINES_BIOCSETIF)
- else(HAVE_SYS_IOCCOM_H)
- check_symbol_exists(BIOCSETIF "sys/types.h;sys/ioctl.h;sys/socket.h;net/bpf.h;net/if.h" BPF_H_DEFINES_BIOCSETIF)
- endif(HAVE_SYS_IOCCOM_H)
- endif(HAVE_NET_BPF_H)
- check_include_file(net/pfilt.h HAVE_NET_PFILT_H)
- check_include_file(net/enet.h HAVE_NET_ENET_H)
- check_include_file(net/nit.h HAVE_NET_NIT_H)
- check_include_file(sys/net/nit.h HAVE_SYS_NET_NIT_H)
- check_include_file(linux/socket.h HAVE_LINUX_SOCKET_H)
- check_include_file(net/raw.h HAVE_NET_RAW_H)
- check_include_file(sys/dlpi.h HAVE_SYS_DLPI_H)
- if(BPF_H_DEFINES_BIOCSETIF)
-
-
-
-
-
- set(PCAP_TYPE bpf)
- elseif(HAVE_LINUX_SOCKET_H)
-
-
-
- set(PCAP_TYPE linux)
- elseif(HAVE_NET_PFILT_H)
-
-
-
- set(PCAP_TYPE pf)
- elseif(HAVE_NET_ENET_H)
-
-
-
- set(PCAP_TYPE enet)
- elseif(HAVE_NET_NIT_H)
-
-
-
- set(PCAP_TYPE snit)
- elseif(HAVE_SYS_NET_NIT_H)
-
-
-
- set(PCAP_TYPE nit)
- elseif(HAVE_NET_RAW_H)
-
-
-
- set(PCAP_TYPE snoop)
- elseif(HAVE_SYS_DLPI_H)
-
-
-
- set(PCAP_TYPE dlpi)
- else()
-
-
-
- set(PCAP_TYPE null)
- endif()
- endif()
- endif(WIN32)
- message(STATUS "Packet capture mechanism type: ${PCAP_TYPE}")
- if(WIN32)
- if(PCAP_TYPE STREQUAL "npf")
-
-
-
- set(PCAP_LINK_LIBRARIES ${PACKET_LIBRARIES} ${PCAP_LINK_LIBRARIES})
- elseif(PCAP_TYPE STREQUAL "null")
- else()
- message(ERROR "${PCAP_TYPE} is not a valid pcap type")
- endif()
- else(WIN32)
- if(PCAP_TYPE STREQUAL "dlpi")
-
-
-
- set(PROJECT_SOURCE_LIST_C ${PROJECT_SOURCE_LIST_C} dlpisubs.c)
-
-
-
- check_include_file(sys/bufmod.h HAVE_SYS_BUFMOD_H)
- check_include_file(sys/dlpi_ext.h HAVE_SYS_DLPI_EXT_H)
-
-
-
-
-
-
-
-
-
-
-
- cmake_push_check_state()
- set(CMAKE_REQUIRED_FLAGS "-L/lib")
- set(CMAKE_REQUIRED_LIBRARIES dlpi)
- check_function_exists(dlpi_walk HAVE_LIBDLPI)
- cmake_pop_check_state()
- if(HAVE_LIBDLPI)
-
-
-
- set(PCAP_LINK_LIBRARIES ${PCAP_LINK_LIBRARIES} dlpi)
- set(PCAP_TYPE libdlpi)
- endif()
-
-
-
-
-
-
-
-
- cmake_push_check_state()
- set(CMAKE_EXTRA_INCLUDE_FILES sys/types.h sys/dlpi.h)
- check_type_size(dl_passive_req_t DL_PASSIVE_REQ_T)
- cmake_pop_check_state()
- elseif(PCAP_TYPE STREQUAL "linux")
-
-
-
-
- check_include_files("sys/socket.h;linux/wireless.h" HAVE_LINUX_WIRELESS_H)
-
-
-
- if(BUILD_WITH_LIBNL)
-
-
-
- cmake_push_check_state()
- set(CMAKE_REQUIRED_LIBRARIES nl-3)
- check_function_exists(nl_socket_alloc HAVE_LIBNL)
- cmake_pop_check_state()
- if(HAVE_LIBNL)
-
-
-
- set(PCAP_LINK_LIBRARIES nl-genl-3 nl-3 ${PCAP_LINK_LIBRARIES})
- set(HAVE_LIBNL_3_x ON)
- set(HAVE_LIBNL_NLE ON)
- set(HAVE_LIBNL_SOCKETS ON)
- include_directories("/usr/include/libnl3")
- else()
-
-
-
- cmake_push_check_state()
- set(CMAKE_REQUIRED_LIBRARIES nl)
- check_function_exists(nl_socket_alloc HAVE_LIBNL)
- cmake_pop_check_state()
- if(HAVE_LIBNL)
-
-
-
- set(PCAP_LINK_LIBRARIES nl-genl nl ${PCAP_LINK_LIBRARIES})
- set(HAVE_LIBNL_2_x ON)
- set(HAVE_LIBNL_NLE ON)
- set(HAVE_LIBNL_SOCKETS ON)
- else()
-
-
-
- cmake_push_check_state()
- set(CMAKE_REQUIRED_LIBRARIES nl)
- check_function_exists(nl_handle_alloc HAVE_LIBNL)
- cmake_pop_check_state()
- if(HAVE_LIBNL)
- set(PCAP_LINK_LIBRARIES nl ${PCAP_LINK_LIBRARIES})
- endif()
- endif()
- endif()
- endif()
- check_include_file(linux/ethtool.h HAVE_LINUX_ETHTOOL_H)
-
-
-
-
-
-
-
-
- cmake_push_check_state()
- set(CMAKE_EXTRA_INCLUDE_FILES linux/if_packet.h)
- check_type_size("struct tpacket_stats" STRUCT_TPACKET_STATS)
- cmake_pop_check_state()
- check_struct_has_member("struct tpacket_auxdata" tp_vlan_tci linux/if_packet.h HAVE_STRUCT_TPACKET_AUXDATA_TP_VLAN_TCI)
- elseif(PCAP_TYPE STREQUAL "bpf")
-
-
-
- check_include_files("sys/types.h;net/if_media.h" HAVE_NET_IF_MEDIA_H)
-
-
-
-
-
-
-
- cmake_push_check_state()
- if(HAVE_SYS_IOCCOM_H)
- set(CMAKE_EXTRA_INCLUDE_FILES sys/types.h sys/ioccom.h net/bpf.h)
- check_type_size("struct BPF_TIMEVAL" STRUCT_BPF_TIMEVAL)
- else()
- set(CMAKE_EXTRA_INCLUDE_FILES sys/types.h net/bpf.h)
- check_type_size("struct BPF_TIMEVAL" STRUCT_BPF_TIMEVAL)
- endif()
- cmake_pop_check_state()
- elseif(PCAP_TYPE STREQUAL "null")
- else()
- message(FATAL_ERROR "${PCAP_TYPE} is not a valid pcap type")
- endif()
- endif(WIN32)
- set(PROJECT_SOURCE_LIST_C ${PROJECT_SOURCE_LIST_C} pcap-${PCAP_TYPE}.c)
- if(NOT WIN32)
-
-
-
-
-
-
-
-
- if(NOT PCAP_TYPE STREQUAL "null")
- cmake_push_check_state()
- set(CMAKE_REQUIRED_LIBRARIES ${PCAP_LINK_LIBRARIES})
- check_function_exists(getifaddrs HAVE_GETIFADDRS)
- cmake_pop_check_state()
- if(NOT HAVE_GETIFADDRS)
-
-
-
-
-
-
-
-
-
-
-
- if(NOT LIBXNET_HAS_GETHOSTBYNAME)
- check_library_exists(socket getifaddrs "" SOCKET_HAS_GETIFADDRS)
- if(SOCKET_HAS_GETIFADDRS)
- set(PCAP_LINK_LIBRARIES socket ${PCAP_LINK_LIBRARIES})
- set(HAVE_GETIFADDRS TRUE)
- endif()
- endif()
- endif()
- if(HAVE_GETIFADDRS)
-
-
-
-
-
-
- check_include_files("sys/types.h;ifaddrs.h" HAVE_IFADDRS_H)
- if(HAVE_IFADDRS_H)
-
-
-
-
- set(FINDALLDEVS_TYPE getad)
- else()
-
-
-
-
-
-
-
-
-
- message(FATAL_ERROR "Your system has getifaddrs() but doesn't have a usable <ifaddrs.h>.")
- endif()
- else()
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- try_compile(HAVE_SIOCGLIFCONF ${CMAKE_CURRENT_BINARY_DIR} "${pcap_SOURCE_DIR}/cmake/have_siocglifconf.c" )
- if(HAVE_SIOCGLIFCONF)
- set(FINDALLDEVS_TYPE glifc)
- else()
- set(FINDALLDEVS_TYPE gifc)
- endif()
- endif()
- message(STATUS "Find-interfaces mechanism type: ${FINDALLDEVS_TYPE}")
- set(PROJECT_SOURCE_LIST_C ${PROJECT_SOURCE_LIST_C} fad-${FINDALLDEVS_TYPE}.c)
- endif()
- endif()
- if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
- check_include_file(linux/net_tstamp.h HAVE_LINUX_NET_TSTAMP_H)
- endif()
- if(NOT DISABLE_USB)
- if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
- set(PCAP_SUPPORT_USB TRUE)
- set(PROJECT_SOURCE_LIST_C ${PROJECT_SOURCE_LIST_C} pcap-usb-linux.c)
- set(LINUX_USB_MON_DEV /dev/usbmon)
-
-
-
-
- check_include_files("linux/compiler.h" HAVE_LINUX_COMPILER_H)
- if(HAVE_LINUX_COMPILER_H)
-
-
-
- check_include_files("linux/compiler.h;linux/usbdevice_fs.h" HAVE_LINUX_USBDEVICE_FS_H)
- else(HAVE_LINUX_COMPILER_H)
- check_include_files("linux/usbdevice_fs.h" HAVE_LINUX_USBDEVICE_FS_H)
- endif(HAVE_LINUX_COMPILER_H)
- if(HAVE_LINUX_USBDEVICE_FS_H)
-
-
-
-
-
-
- if(HAVE_LINUX_COMPILER_H)
- check_struct_has_member("struct usbdevfs_ctrltransfer" bRequestType "linux/compiler.h;linux/usbdevice_fs.h" HAVE_STRUCT_USBDEVFS_CTRLTRANSFER_BREQUESTTYPE)
- else(HAVE_LINUX_COMPILER_H)
- check_struct_has_member("struct usbdevfs_ctrltransfer" bRequestType "linux/usbdevice_fs.h" HAVE_STRUCT_USBDEVFS_CTRLTRANSFER_BREQUESTTYPE)
- endif(HAVE_LINUX_COMPILER_H)
- endif()
- endif()
- endif()
- if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
-
-
-
-
-
-
-
-
- check_c_source_compiles(
- "#include <sys/socket.h>
- #include <netinet/in.h>
- #include <linux/types.h>
- #include <linux/netlink.h>
- #include <linux/netfilter.h>
- #include <linux/netfilter/nfnetlink.h>
- #include <linux/netfilter/nfnetlink_log.h>
- #include <linux/netfilter/nfnetlink_queue.h>
- int
- main(void)
- {
- return 0;
- }
- "
- PCAP_SUPPORT_NETFILTER)
- if(PCAP_SUPPORT_NETFILTER)
- set(PROJECT_SOURCE_LIST_C ${PROJECT_SOURCE_LIST_C} pcap-netfilter-linux.c)
- endif(PCAP_SUPPORT_NETFILTER)
- endif()
- if(NOT DISABLE_NETMAP)
-
-
-
-
-
-
- check_c_source_compiles(
- "#define NETMAP_WITH_LIBS
- #include <net/netmap_user.h>
- int
- main(void)
- {
- return 0;
- }
- "
- PCAP_SUPPORT_NETMAP)
- if(PCAP_SUPPORT_NETMAP)
- set(PROJECT_SOURCE_LIST_C ${PROJECT_SOURCE_LIST_C} pcap-netmap.c)
- endif(PCAP_SUPPORT_NETMAP)
- endif()
- if(NOT DISABLE_BLUETOOTH)
- if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
- check_include_file(bluetooth/bluetooth.h HAVE_BLUETOOTH_BLUETOOTH_H)
- if(HAVE_BLUETOOTH_BLUETOOTH_H)
- set(PCAP_SUPPORT_BT TRUE)
- set(PROJECT_SOURCE_LIST_C ${PROJECT_SOURCE_LIST_C} pcap-bt-linux.c)
-
-
-
-
- check_struct_has_member("struct sockaddr_hci" hci_channel "bluetooth/bluetooth.h;bluetooth/hci.h" HAVE_STRUCT_SOCKADDR_HCI_HCI_CHANNEL)
- if(HAVE_STRUCT_SOCKADDR_HCI_HCI_CHANNEL)
-
-
-
- check_c_source_compiles(
- "#include <bluetooth/bluetooth.h>
- #include <bluetooth/hci.h>
- int
- main(void)
- {
- u_int i = HCI_CHANNEL_MONITOR;
- return 0;
- }
- "
- PCAP_SUPPORT_BT_MONITOR)
- if(PCAP_SUPPORT_BT_MONITOR)
-
-
-
-
- set(PROJECT_SOURCE_LIST_C ${PROJECT_SOURCE_LIST_C} pcap-bt-monitor-linux.c)
- endif(PCAP_SUPPORT_BT_MONITOR)
- endif(HAVE_STRUCT_SOCKADDR_HCI_HCI_CHANNEL)
- endif(HAVE_BLUETOOTH_BLUETOOTH_H)
- endif()
- endif()
- if(NOT DISABLE_DBUS)
-
-
-
-
-
- if(APPLE)
- message(FATAL_ERROR "Due to freedesktop.org bug 74029, D-Bus capture support is not available on macOS")
- endif(APPLE)
- include(FindPkgConfig)
- pkg_check_modules(DBUS dbus-1)
- if(DBUS_FOUND)
- set(PCAP_SUPPORT_DBUS TRUE)
- set(PROJECT_SOURCE_LIST_C ${PROJECT_SOURCE_LIST_C} pcap-dbus.c)
- include_directories(${DBUS_INCLUDE_DIRS})
- set(PCAP_LINK_LIBRARIES ${PCAP_LINK_LIBRARIES} ${DBUS_LIBRARIES})
- endif(DBUS_FOUND)
- endif(NOT DISABLE_DBUS)
- if(NOT DISABLE_RDMA)
- check_library_exists(ibverbs ibv_get_device_list "" LIBIBVERBS_HAS_IBV_GET_DEVICE_LIST)
- if(LIBIBVERBS_HAS_IBV_GET_DEVICE_LIST)
- check_include_file(infiniband/verbs.h HAVE_INFINIBAND_VERBS_H)
- if(HAVE_INFINIBAND_VERBS_H)
- check_symbol_exists(ibv_create_flow infiniband/verbs.h PCAP_SUPPORT_RDMASNIFF)
- if(PCAP_SUPPORT_RDMASNIFF)
- set(PROJECT_SOURCE_LIST_C ${PROJECT_SOURCE_LIST_C} pcap-rdmasniff.c)
- set(PCAP_LINK_LIBRARIES ibverbs ${PCAP_LINK_LIBRARIES})
- endif(PCAP_SUPPORT_RDMASNIFF)
- endif(HAVE_INFINIBAND_VERBS_H)
- endif(LIBIBVERBS_HAS_IBV_GET_DEVICE_LIST)
- endif(NOT DISABLE_RDMA)
- if(NOT DISABLE_DAG)
-
-
-
- find_package(DAG)
-
-
-
- if(DAG_FOUND)
-
-
-
-
- cmake_push_check_state()
- set(CMAKE_REQUIRED_INCLUDES ${DAG_INCLUDE_DIRS})
- set(CMAKE_REQUIRED_LIBRARIES ${DAG_LIBRARIES})
- check_function_exists(dag_attach_stream HAVE_DAG_STREAMS_API)
- if(NOT HAVE_DAG_STREAMS_API)
- message(FATAL_ERROR "DAG library lacks streams support")
- endif()
- check_function_exists(dag_attach_stream64 HAVE_DAG_LARGE_STREAMS_API)
- check_function_exists(dag_get_erf_types HAVE_DAG_GET_ERF_TYPES)
- check_function_exists(dag_get_stream_erf_types HAVE_DAG_GET_STREAM_ERF_TYPES)
- cmake_pop_check_state()
- include_directories(AFTER ${DAG_INCLUDE_DIRS})
- set(PROJECT_SOURCE_LIST_C ${PROJECT_SOURCE_LIST_C} pcap-dag.c)
- set(HAVE_DAG_API TRUE)
- set(PCAP_LINK_LIBRARIES ${PCAP_LINK_LIBRARIES} ${DAG_LIBRARIES})
- if(HAVE_DAG_LARGE_STREAMS_API)
- get_filename_component(DAG_LIBRARY_DIR ${DAG_LIBRARY} PATH)
- check_library_exists(vdag vdag_set_device_info ${DAG_LIBRARY_DIR} HAVE_DAG_VDAG)
- if(HAVE_DAG_VDAG)
- set(PCAP_LINK_LIBRARIES ${PCAP_LINK_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
- endif()
- endif()
- endif()
- endif()
- set(PROJECT_EXTERNAL_OBJECT_LIST "")
- if(NOT DISABLE_SEPTEL)
-
-
-
- set(SEPTEL_INCLUDE_DIRS "${SEPTEL_ROOT}/INC")
- cmake_push_check_state()
- set(CMAKE_REQUIRED_INCLUDES ${SEPTEL_INCLUDE_DIRS})
- check_include_file(msg.h HAVE_INC_MSG_H)
- cmake_pop_check_state()
- if(HAVE_INC_MSG_H)
-
-
-
- include_directories(AFTER ${SEPTEL_INCLUDE_DIRS})
- set(PROJECT_SOURCE_LIST_C ${PROJECT_SOURCE_LIST_C} pcap-septel.c)
- set(PROJECT_EXTERNAL_OBJECT_LIST ${PROJECT_EXTERNAL_OBJECT_LIST} "${SEPTEL_ROOT}/asciibin.o ${SEPTEL_ROOT}/bit2byte.o ${SEPTEL_ROOT}/confirm.o ${SEPTEL_ROOT}/fmtmsg.o ${SEPTEL_ROOT}/gct_unix.o ${SEPTEL_ROOT}/hqueue.o ${SEPTEL_ROOT}/ident.o ${SEPTEL_ROOT}/mem.o ${SEPTEL_ROOT}/pack.o ${SEPTEL_ROOT}/parse.o ${SEPTEL_ROOT}/pool.o ${SEPTEL_ROOT}/sdlsig.o ${SEPTEL_ROOT}/strtonum.o ${SEPTEL_ROOT}/timer.o ${SEPTEL_ROOT}/trace.o")
- set(HAVE_SEPTEL_API TRUE)
- endif()
- endif()
- if(NOT DISABLE_SNF)
-
-
-
- find_package(SNF)
-
-
-
- if(SNF_FOUND)
-
-
-
- include_directories(AFTER ${SNF_INCLUDE_DIRS})
- set(PROJECT_SOURCE_LIST_C ${PROJECT_SOURCE_LIST_C} pcap-snf.c)
- set(HAVE_SNF_API TRUE)
- set(PCAP_LINK_LIBRARIES ${PCAP_LINK_LIBRARIES} ${SNF_LIBRARIES})
- endif()
- endif()
- if(NOT DISABLE_TC)
-
-
-
- find_package(TC)
-
-
-
- if(TC_FOUND)
-
-
-
- include_directories(AFTER ${TC_INCLUDE_DIRS})
- set(PROJECT_SOURCE_LIST_C ${PROJECT_SOURCE_LIST_C} pcap-tc.c)
- set(HAVE_TC_API TRUE)
- set(PCAP_LINK_LIBRARIES "${PCAP_LINK_LIBRARIES} ${TC_LIBRARIES} ${CMAKE_USE_PTHREADS_INIT} stdc++")
- endif()
- endif()
- if(ENABLE_REMOTE)
-
-
-
-
-
-
-
-
-
-
-
- cmake_push_check_state()
- set(CMAKE_REQUIRED_INCLUDES ${CMAKE_SOURCE_DIR})
- check_struct_has_member("struct msghdr" msg_control "ftmacros.h;sys/socket.h" HAVE_STRUCT_MSGHDR_MSG_CONTROL)
- check_struct_has_member("struct msghdr" msg_flags "ftmacros.h;sys/socket.h" HAVE_STRUCT_MSGHDR_MSG_FLAGS)
- cmake_pop_check_state()
- set(PROJECT_SOURCE_LIST_C ${PROJECT_SOURCE_LIST_C}
- pcap-new.c pcap-rpcap.c rpcap-protocol.c sockutils.c)
- endif(ENABLE_REMOTE)
- if(EXISTS ${CMAKE_SOURCE_DIR}/.devel OR EXISTS ${CMAKE_BINARY_DIR}/.devel)
-
-
-
- if(MSVC AND NOT ${CMAKE_C_COMPILER} MATCHES "clang*")
-
-
-
-
-
-
- check_and_add_compiler_option(-Wall)
-
-
-
-
-
-
-
-
-
-
-
-
- check_and_add_compiler_option(-wd4100)
-
-
-
-
-
-
- check_and_add_compiler_option(-wd4255)
-
-
-
- check_and_add_compiler_option(-wd4548)
-
-
-
-
-
-
- check_and_add_compiler_option(-wd4574)
-
-
-
-
- check_and_add_compiler_option(-wd4668)
-
-
-
-
- check_and_add_compiler_option(-wd4710)
- check_and_add_compiler_option(-wd4711)
-
-
-
-
- check_and_add_compiler_option(-wd4820)
- else()
-
-
-
-
-
- check_and_add_compiler_option(-Wall)
- check_and_add_compiler_option(-Wsign-compare)
- check_and_add_compiler_option(-Wmissing-prototypes)
- check_and_add_compiler_option(-Wstrict-prototypes)
- check_and_add_compiler_option(-Wshadow)
- check_and_add_compiler_option(-Wdeclaration-after-statement)
- check_and_add_compiler_option(-Wused-but-marked-unused)
- check_and_add_compiler_option(-Wdocumentation)
- check_and_add_compiler_option(-Wcomma)
- check_and_add_compiler_option(-Wmissing-noreturn)
-
-
- check_and_add_compiler_option(-Wmissing-variable-declarations)
- check_and_add_compiler_option(-Wunused-parameter)
- check_and_add_compiler_option(-Wformat-nonliteral)
- check_and_add_compiler_option(-Wunreachable-code)
- endif()
- endif()
- if(MSVC AND NOT ${CMAKE_C_COMPILER} MATCHES "clang*")
-
-
-
-
-
-
-
- check_and_add_compiler_option(-wd4646)
- endif()
- file(GLOB PROJECT_SOURCE_LIST_H
- *.h
- pcap/*.h
- )
- if(NOT MSVC)
- if(CMAKE_C_COMPILER_ID MATCHES "SunPro")
-
-
-
- check_and_add_compiler_option(-xldscope=hidden)
- else()
-
-
-
-
-
- check_and_add_compiler_option(-fvisibility=hidden)
- endif()
- endif(NOT MSVC)
- find_program(LEX_EXECUTABLE NAMES flex win_flex lex)
- if(LEX_EXECUTABLE STREQUAL "LEX_EXECUTABLE-NOTFOUND")
- message(FATAL_ERROR "Neither flex nor win_flex nor lex was found.")
- endif()
- message(STATUS "Lexical analyzer generator: ${LEX_EXECUTABLE}")
- add_custom_command(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/scanner.c ${CMAKE_CURRENT_BINARY_DIR}/scanner.h
- SOURCE ${pcap_SOURCE_DIR}/scanner.l
- COMMAND ${LEX_EXECUTABLE} -P pcap_ --header-file=scanner.h --nounput -o${CMAKE_CURRENT_BINARY_DIR}/scanner.c ${pcap_SOURCE_DIR}/scanner.l
- DEPENDS ${pcap_SOURCE_DIR}/scanner.l
- )
- set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/scanner.c PROPERTIES
- GENERATED TRUE
- OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/grammar.h
- )
- find_program(YACC_EXECUTABLE NAMES bison win_bison byacc yacc)
- if(YACC_EXECUTABLE STREQUAL "YACC_EXECUTABLE-NOTFOUND")
- message(FATAL_ERROR "Neither bison nor win_bison nor byacc nor yacc was found.")
- endif()
- message(STATUS "Parser generator: ${YACC_EXECUTABLE}")
- get_filename_component(YACC_NAME ${YACC_EXECUTABLE} NAME_WE)
- if("${YACC_NAME}" STREQUAL "bison" OR "${YACC_NAME}" STREQUAL "win_bison")
- set(YACC_COMPATIBILITY_FLAG "-y")
- endif()
- add_custom_command(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/grammar.c ${CMAKE_CURRENT_BINARY_DIR}/grammar.h
- SOURCE ${pcap_SOURCE_DIR}/grammar.y
- COMMAND ${YACC_EXECUTABLE} ${YACC_COMPATIBILITY_FLAG} -p pcap_ -o ${CMAKE_CURRENT_BINARY_DIR}/grammar.c -d ${pcap_SOURCE_DIR}/grammar.y
- DEPENDS ${pcap_SOURCE_DIR}/grammar.y
- )
- set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/grammar.c PROPERTIES
- GENERATED TRUE
- OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/scanner.h
- )
- set(MAN_FILE_FORMATS 5)
- set(MAN_MISC_INFO 7)
- set(MAN_ADMIN_COMMANDS 8)
- if(CMAKE_SYSTEM_NAME STREQUAL "AIX")
-
- set(_SUN TRUE)
- if(PCAP_TYPE STREQUAL "bpf")
-
-
-
-
- set(PCAP_LINK_LIBRARIES ${PCAP_LINK_LIBRARIES} odm cfg)
- endif()
- elseif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX")
- if(CMAKE_SYSTEM_VERSION MATCHES "[A-Z.]*9\.[0-9]*")
-
-
-
- set(HAVE_HPUX9 TRUE)
- elseif(CMAKE_SYSTEM_VERSION MATCHES "[A-Z.]*10\.0")
-
-
-
- elseif(CMAKE_SYSTEM_VERSION MATCHES "[A-Z.]*10\.1")
-
-
-
- else()
-
-
-
- set(HAVE_HPUX10_20_OR_LATER TRUE)
- endif()
-
-
-
- set(MAN_ADMIN_COMMANDS 1m)
- set(MAN_FILE_FORMATS 4)
- set(MAN_MISC_INFO 5)
- elseif(CMAKE_SYSTEM_NAME STREQUAL "IRIX" OR CMAKE_SYSTEM_NAME STREQUAL "IRIX64")
-
-
-
-
-
- set(MAN_FILE_FORMATS 4)
- set(MAN_MISC_INFO 5)
- elseif(CMAKE_SYSTEM_NAME STREQUAL "OSF1")
-
-
-
-
-
-
- set(MAN_FILE_FORMATS 4)
- set(MAN_MISC_INFO 5)
- elseif(CMAKE_SYSTEM_NAME STREQUAL "SunOS" AND CMAKE_SYSTEM_VERSION MATCHES "5[.][0-9.]*")
-
-
-
- set(HAVE_SOLARIS TRUE)
-
-
-
-
-
-
-
-
- add_definitions(-D_TS_ERRNO)
- if(CMAKE_SYSTEM_VERSION STREQUAL "5.12")
- else()
-
-
-
- set(MAN_ADMIN_COMMANDS 1m)
- set(MAN_FILE_FORMATS 4)
- set(MAN_MISC_INFO 5)
- endif()
- endif()
- source_group("Source Files" FILES ${PROJECT_SOURCE_LIST_C})
- source_group("Header Files" FILES ${PROJECT_SOURCE_LIST_H})
- if(WIN32)
-
-
-
- set(PROJECT_SOURCE_LIST_C ${PROJECT_SOURCE_LIST_C} ${pcap_SOURCE_DIR}/pcap-dll.rc)
- endif(WIN32)
- if(ENABLE_REMOTE)
- add_subdirectory(rpcapd)
- endif(ENABLE_REMOTE)
- add_subdirectory(testprogs)
- add_custom_target(SerializeTarget
- DEPENDS
- ${CMAKE_CURRENT_BINARY_DIR}/grammar.c
- ${CMAKE_CURRENT_BINARY_DIR}/scanner.c
- )
- set_source_files_properties(${PROJECT_EXTERNAL_OBJECT_LIST} PROPERTIES
- EXTERNAL_OBJECT TRUE)
- if(BUILD_SHARED_LIBS)
- add_library(${LIBRARY_NAME} SHARED
- ${PROJECT_SOURCE_LIST_C}
- ${CMAKE_CURRENT_BINARY_DIR}/grammar.c
- ${CMAKE_CURRENT_BINARY_DIR}/scanner.c
- ${PROJECT_EXTERNAL_OBJECT_LIST}
- )
- add_dependencies(${LIBRARY_NAME} SerializeTarget)
- set_target_properties(${LIBRARY_NAME} PROPERTIES
- COMPILE_DEFINITIONS BUILDING_PCAP)
- endif(BUILD_SHARED_LIBS)
- add_library(${LIBRARY_NAME}_static STATIC
- ${PROJECT_SOURCE_LIST_C}
- ${CMAKE_CURRENT_BINARY_DIR}/grammar.c
- ${CMAKE_CURRENT_BINARY_DIR}/scanner.c
- ${PROJECT_EXTERNAL_OBJECT_LIST}
- )
- add_dependencies(${LIBRARY_NAME}_static SerializeTarget)
- set_target_properties(${LIBRARY_NAME}_static PROPERTIES
- COMPILE_DEFINITIONS BUILDING_PCAP)
- if(WIN32)
- if(BUILD_SHARED_LIBS)
- set_target_properties(${LIBRARY_NAME} PROPERTIES
- VERSION ${PACKAGE_VERSION_NOSUFFIX}
- )
- endif(BUILD_SHARED_LIBS)
- if(MSVC)
-
-
-
-
-
-
-
-
-
- set(CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY $<TARGET_FILE_DIR:${LIBRARY_NAME}_static>)
- set_target_properties(${LIBRARY_NAME}_static PROPERTIES
- COMPILE_PDB_NAME ${LIBRARY_NAME}_static
- OUTPUT_NAME "${LIBRARY_NAME}_static"
- )
- elseif(MINGW)
-
-
-
-
- set_target_properties(${LIBRARY_NAME} PROPERTIES
- PREFIX ""
- OUTPUT_NAME "${LIBRARY_NAME}"
- )
- set_target_properties(${LIBRARY_NAME}_static PROPERTIES
- OUTPUT_NAME "${LIBRARY_NAME}"
- )
- endif()
- else(WIN32)
- if(BUILD_SHARED_LIBS)
- if(APPLE)
- set_target_properties(${LIBRARY_NAME} PROPERTIES
- VERSION ${PACKAGE_VERSION}
- SOVERSION A
- )
- else(APPLE)
- set_target_properties(${LIBRARY_NAME} PROPERTIES
- VERSION ${PACKAGE_VERSION}
- SOVERSION ${PACKAGE_VERSION_MAJOR}
- )
- endif(APPLE)
- endif(BUILD_SHARED_LIBS)
- set_target_properties(${LIBRARY_NAME}_static PROPERTIES
- OUTPUT_NAME "${LIBRARY_NAME}"
- )
- endif(WIN32)
- if(BUILD_SHARED_LIBS)
- if(NOT C_ADDITIONAL_FLAGS STREQUAL "")
- set_target_properties(${LIBRARY_NAME} PROPERTIES COMPILE_FLAGS ${C_ADDITIONAL_FLAGS})
- endif()
- target_link_libraries(${LIBRARY_NAME} ${PCAP_LINK_LIBRARIES})
- endif(BUILD_SHARED_LIBS)
- if(NOT C_ADDITIONAL_FLAGS STREQUAL "")
- set_target_properties(${LIBRARY_NAME}_static PROPERTIES COMPILE_FLAGS ${C_ADDITIONAL_FLAGS})
- endif()
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmakeconfig.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
- include(GNUInstallDirs)
- set(LIBRARY_NAME_STATIC ${LIBRARY_NAME}_static)
- function(install_manpage_symlink SOURCE TARGET MANDIR)
- if(MINGW)
- find_program(LINK_EXECUTABLE ln)
- if(LINK_EXECUTABLE)
- set(LINK_COMMAND "\"${LINK_EXECUTABLE}\" \"-s\" \"${SOURCE}\" \"${TARGET}\"")
- else(LINK_EXECUTABLE)
- message(FATAL_ERROR "ln (http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ln.html) not found.")
- endif(LINK_EXECUTABLE)
- else(MINGW)
- set(LINK_COMMAND "\"${CMAKE_COMMAND}\" \"-E\" \"create_symlink\" \"${SOURCE}\" \"${TARGET}\"")
- endif(MINGW)
- install(CODE
- "message(STATUS \"Symlinking: ${CMAKE_INSTALL_PREFIX}/${MANDIR}/${SOURCE} to ${TARGET}\")
- execute_process(
- COMMAND \"${CMAKE_COMMAND}\" \"-E\" \"remove\" \"${TARGET}\"
- WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}/${MANDIR}
- )
- execute_process(
- COMMAND ${LINK_COMMAND}
- WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}/${MANDIR}
- RESULT_VARIABLE EXIT_STATUS
- )
- if(NOT EXIT_STATUS EQUAL 0)
- message(FATAL_ERROR \"Could not create symbolic link from ${CMAKE_INSTALL_PREFIX}/${MANDIR}/${SOURCE} to ${TARGET}\")
- endif()
- set(CMAKE_INSTALL_MANIFEST_FILES \${CMAKE_INSTALL_MANIFEST_FILES} ${CMAKE_INSTALL_PREFIX}/${MANDIR}/${TARGET})")
- endfunction(install_manpage_symlink)
- set(MAN1_NOEXPAND pcap-config.1)
- set(MAN3PCAP_EXPAND
- pcap.3pcap.in
- pcap_compile.3pcap.in
- pcap_datalink.3pcap.in
- pcap_dump_open.3pcap.in
- pcap_get_tstamp_precision.3pcap.in
- pcap_list_datalinks.3pcap.in
- pcap_list_tstamp_types.3pcap.in
- pcap_open_dead.3pcap.in
- pcap_open_offline.3pcap.in
- pcap_set_tstamp_precision.3pcap.in
- pcap_set_tstamp_type.3pcap.in
- )
- set(MAN3PCAP_NOEXPAND
- pcap_activate.3pcap
- pcap_breakloop.3pcap
- pcap_can_set_rfmon.3pcap
- pcap_close.3pcap
- pcap_create.3pcap
- pcap_datalink_name_to_val.3pcap
- pcap_datalink_val_to_name.3pcap
- pcap_dump.3pcap
- pcap_dump_close.3pcap
- pcap_dump_file.3pcap
- pcap_dump_flush.3pcap
- pcap_dump_ftell.3pcap
- pcap_file.3pcap
- pcap_fileno.3pcap
- pcap_findalldevs.3pcap
- pcap_freecode.3pcap
- pcap_get_required_select_timeout.3pcap
- pcap_get_selectable_fd.3pcap
- pcap_geterr.3pcap
- pcap_inject.3pcap
- pcap_is_swapped.3pcap
- pcap_lib_version.3pcap
- pcap_lookupdev.3pcap
- pcap_lookupnet.3pcap
- pcap_loop.3pcap
- pcap_major_version.3pcap
- pcap_next_ex.3pcap
- pcap_offline_filter.3pcap
- pcap_open_live.3pcap
- pcap_set_buffer_size.3pcap
- pcap_set_datalink.3pcap
- pcap_set_immediate_mode.3pcap
- pcap_set_promisc.3pcap
- pcap_set_protocol_linux.3pcap
- pcap_set_rfmon.3pcap
- pcap_set_snaplen.3pcap
- pcap_set_timeout.3pcap
- pcap_setdirection.3pcap
- pcap_setfilter.3pcap
- pcap_setnonblock.3pcap
- pcap_snapshot.3pcap
- pcap_stats.3pcap
- pcap_statustostr.3pcap
- pcap_strerror.3pcap
- pcap_tstamp_type_name_to_val.3pcap
- pcap_tstamp_type_val_to_name.3pcap
- )
- set(MANFILE_EXPAND pcap-savefile.manfile.in)
- set(MANMISC_EXPAND
- pcap-filter.manmisc.in
- pcap-linktype.manmisc.in
- pcap-tstamp.manmisc.in
- )
- if(NOT BUILD_SHARED_LIBS)
- unset(LIBRARY_NAME)
- endif(NOT BUILD_SHARED_LIBS)
- if(WIN32)
- if(MSVC AND CMAKE_SIZEOF_VOID_P EQUAL 8)
-
-
-
-
- install(TARGETS ${LIBRARY_NAME} ${LIBRARY_NAME_STATIC}
- RUNTIME DESTINATION bin/amd64
- LIBRARY DESTINATION lib/amd64
- ARCHIVE DESTINATION lib/amd64)
- if(NOT MINGW)
- install(FILES $<TARGET_FILE_DIR:${LIBRARY_NAME_STATIC}>/${LIBRARY_NAME_STATIC}.pdb
- DESTINATION bin/amd64 OPTIONAL)
- if(BUILD_SHARED_LIBS)
- install(FILES $<TARGET_PDB_FILE:${LIBRARY_NAME}>
- DESTINATION bin/amd64 OPTIONAL)
- endif(BUILD_SHARED_LIBS)
- endif(NOT MINGW)
- else(MSVC AND CMAKE_SIZEOF_VOID_P EQUAL 8)
-
-
-
-
-
- install(TARGETS ${LIBRARY_NAME} ${LIBRARY_NAME_STATIC}
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib)
- if(NOT MINGW)
- install(FILES $<TARGET_FILE_DIR:${LIBRARY_NAME_STATIC}>/${LIBRARY_NAME_STATIC}.pdb
- DESTINATION bin OPTIONAL)
- if(BUILD_SHARED_LIBS)
- install(FILES $<TARGET_PDB_FILE:${LIBRARY_NAME}>
- DESTINATION bin OPTIONAL)
- endif(BUILD_SHARED_LIBS)
- endif(NOT MINGW)
- endif(MSVC AND CMAKE_SIZEOF_VOID_P EQUAL 8)
- else(WIN32)
- install(TARGETS ${LIBRARY_NAME} ${LIBRARY_NAME_STATIC} DESTINATION lib)
- endif(WIN32)
- install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/pcap/ DESTINATION include/pcap)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pcap.h DESTINATION include)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pcap-bpf.h DESTINATION include)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/pcap-namedb.h DESTINATION include)
- if(NOT MSVC)
- set(PACKAGE_NAME ${LIBRARY_NAME})
- set(prefix ${CMAKE_INSTALL_PREFIX})
- set(exec_prefix "\${prefix}")
- set(includedir "\${prefix}/include")
- set(libdir "\${exec_prefix}/lib")
- if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR
- CMAKE_SYSTEM_NAME STREQUAL "NetBSD" OR
- CMAKE_SYSTEM_NAME STREQUAL "OpenBSD" OR
- CMAKE_SYSTEM_NAME STREQUAL "DragonFly BSD" OR
- CMAKE_SYSTEM_NAME STREQUAL "Linux" OR
- CMAKE_SYSTEM_NAME STREQUAL "OSF1")
-
-
-
-
-
- set(V_RPATH_OPT "-Wl,-rpath,")
- elseif(CMAKE_SYSTEM_NAME STREQUAL "SunOS" AND CMAKE_SYSTEM_VERSION MATCHES "5[.][0-9.]*")
-
-
-
-
-
-
- set(V_RPATH_OPT "-Wl,-R,")
- else()
-
-
-
- set(V_RPATH_OPT "")
- endif()
- set(LIBS "")
- foreach(LIB ${PCAP_LINK_LIBRARIES})
- set(LIBS "${LIBS} -l${LIB}")
- endforeach(LIB)
- configure_file(${CMAKE_SOURCE_DIR}/pcap-config.in ${CMAKE_CURRENT_BINARY_DIR}/pcap-config @ONLY)
- configure_file(${CMAKE_SOURCE_DIR}/libpcap.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libpcap.pc @ONLY)
- install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/pcap-config DESTINATION bin)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpcap.pc DESTINATION lib/pkgconfig)
-
-
-
-
-
-
- set(MAN1 "")
- foreach(MANPAGE ${MAN1_NOEXPAND})
- set(MAN1 ${MAN1} ${CMAKE_SOURCE_DIR}/${MANPAGE})
- endforeach(MANPAGE)
- install(FILES ${MAN1} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
- set(MAN3PCAP "")
- foreach(MANPAGE ${MAN3PCAP_NOEXPAND})
- set(MAN3PCAP ${MAN3PCAP} ${CMAKE_SOURCE_DIR}/${MANPAGE})
- endforeach(MANPAGE)
- foreach(TEMPLATE_MANPAGE ${MAN3PCAP_EXPAND})
- string(REPLACE ".in" "" MANPAGE ${TEMPLATE_MANPAGE})
- configure_file(${CMAKE_SOURCE_DIR}/${TEMPLATE_MANPAGE} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE} @ONLY)
- set(MAN3PCAP ${MAN3PCAP} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE})
- endforeach(TEMPLATE_MANPAGE)
- install(FILES ${MAN3PCAP} DESTINATION ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_datalink_val_to_name.3pcap pcap_datalink_val_to_description.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_dump_open.3pcap pcap_dump_fopen.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_findalldevs.3pcap pcap_freealldevs.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_geterr.3pcap pcap_perror.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_inject.3pcap pcap_sendpacket.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_list_datalinks.3pcap pcap_free_datalinks.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_list_tstamp_types.3pcap pcap_free_tstamp_types.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_loop.3pcap pcap_dispatch.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_major_version.3pcap pcap_minor_version.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_next_ex.3pcap pcap_next.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_open_dead.3pcap pcap_open_dead_with_tstamp_precision.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_open_offline.3pcap pcap_open_offline_with_tstamp_precision.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_open_offline.3pcap pcap_fopen_offline.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_open_offline.3pcap pcap_fopen_offline_with_tstamp_precision.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_tstamp_type_val_to_name.3pcap pcap_tstamp_type_val_to_description.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- install_manpage_symlink(pcap_setnonblock.3pcap pcap_getnonblock.3pcap ${CMAKE_INSTALL_MANDIR}/man3)
- set(MANFILE "")
- foreach(TEMPLATE_MANPAGE ${MANFILE_EXPAND})
- string(REPLACE ".manfile.in" ".${MAN_FILE_FORMATS}" MANPAGE ${TEMPLATE_MANPAGE})
- configure_file(${CMAKE_SOURCE_DIR}/${TEMPLATE_MANPAGE} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE} @ONLY)
- set(MANFILE ${MANFILE} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE})
- endforeach(TEMPLATE_MANPAGE)
- install(FILES ${MANFILE} DESTINATION ${CMAKE_INSTALL_MANDIR}/man${MAN_FILE_FORMATS})
- set(MANMISC "")
- foreach(TEMPLATE_MANPAGE ${MANMISC_EXPAND})
- string(REPLACE ".manmisc.in" ".${MAN_MISC_INFO}" MANPAGE ${TEMPLATE_MANPAGE})
- configure_file(${CMAKE_SOURCE_DIR}/${TEMPLATE_MANPAGE} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE} @ONLY)
- set(MANMISC ${MANMISC} ${CMAKE_CURRENT_BINARY_DIR}/${MANPAGE})
- endforeach(TEMPLATE_MANPAGE)
- install(FILES ${MANMISC} DESTINATION ${CMAKE_INSTALL_MANDIR}/man${MAN_MISC_INFO})
- endif(NOT MSVC)
- configure_file(
- "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
- "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
- IMMEDIATE @ONLY)
- add_custom_target(uninstall
- COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
|