Skip to content

Commit 269bb2e

Browse files
author
deadlightreal
committed
updated cmakelists
1 parent be164de commit 269bb2e

File tree

1 file changed

+21
-31
lines changed

1 file changed

+21
-31
lines changed

src/CMakeLists.txt

Lines changed: 21 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -51,39 +51,29 @@ add_library(swiftnet STATIC ${SOURCE_FILES})
5151
target_compile_options(swiftnet PRIVATE -O0)
5252
target_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()
8172
else()
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

8878
set_target_properties(swiftnet PROPERTIES
8979
OUTPUT_NAME "swiftnet"

0 commit comments

Comments
 (0)