@@ -51,39 +51,29 @@ add_library(swiftnet STATIC ${SOURCE_FILES})
5151target_compile_options (swiftnet PRIVATE -O0)
5252target_link_options (swiftnet PRIVATE -O0)
5353
54- find_path (PCAP_INCLUDE_DIR
55- NAMES pcap.h
56- PATHS
57- $ENV{VCPKG_ROOT} /installed
58- /usr/include
59- /usr/local/include
60- /opt/homebrew/include
61- /usr/include
62- )
63-
64- # Find libpcap library
65- find_library (PCAP_LIBRARY
66- NAMES pcap libpcap
67- PATHS
68- $ENV{VCPKG_ROOT} /installed
69- /usr/lib
70- /usr/local/lib
71- /opt/homebrew/lib
72- /usr/lib
73- )
74-
75- include (FindPackageHandleStandardArgs)
76- find_package_handle_standard_args(Pcap DEFAULT_MSG PCAP_LIBRARY PCAP_INCLUDE_DIR)
77-
78- if (PCAP_FOUND)
79- message (STATUS "Found libpcap: ${PCAP_LIBRARY} (includes: ${PCAP_INCLUDE_DIR} )" )
80- include_directories (${PCAP_INCLUDE_DIR} )
54+ if (DEFINED ENV{VCPKG_ROOT} AND DEFINED CMAKE_VCPKG_TARGET_TRIPLET)
55+ set (VCPKG_INCLUDE_DIR "$ENV{VCPKG_ROOT} /installed/${CMAKE_VCPKG_TARGET_TRIPLET} /include" )
56+ set (VCPKG_LIB_DIR "$ENV{VCPKG_ROOT} /installed/${CMAKE_VCPKG_TARGET_TRIPLET} /lib" )
57+
58+ find_path (PCAP_INCLUDE_DIR pcap.h
59+ PATHS ${VCPKG_INCLUDE_DIR} /usr/include /usr/local/include /opt/homebrew/include
60+ )
61+ find_library (PCAP_LIBRARY pcap
62+ PATHS ${VCPKG_LIB_DIR} /usr/lib /usr/local/lib /opt/homebrew/lib
63+ )
64+
65+ if (PCAP_INCLUDE_DIR AND PCAP_LIBRARY)
66+ message (STATUS "libpcap found: ${PCAP_LIBRARY} " )
67+ target_include_directories (swiftnet PUBLIC ${PCAP_INCLUDE_DIR} )
68+ target_link_libraries (swiftnet PUBLIC ${PCAP_LIBRARY} )
69+ else ()
70+ message (WARNING "libpcap not found!!!" )
71+ endif ()
8172else ()
82- message (FATAL_ERROR "libpcap not found! Please install libpcap or set PCAP_INCLUDE_DIR/PCAP_LIBRARY" )
83- endif ()
73+ target_link_options (swiftnet PRIVATE -lpcap)
8474
85- target_include_directories (swiftnet PUBLIC ${PCAP_INCLUDE_DIR} )
86- target_link_libraries (swiftnet PUBLIC ${PCAP_LIBRARY} )
75+ message ( "using linking option: -lpcap" )
76+ endif ( )
8777
8878set_target_properties (swiftnet PROPERTIES
8979 OUTPUT_NAME "swiftnet"
0 commit comments