Skip to content

Commit

Permalink
adding FindPcapPlusPlus.cmake
Browse files Browse the repository at this point in the history
  • Loading branch information
hhijazi committed Aug 15, 2022
1 parent e3e3414 commit 82ff9b7
Showing 1 changed file with 53 additions and 0 deletions.
53 changes: 53 additions & 0 deletions cmake/FindPcapPlusPlus.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# FindPcapPlusPlus.cmake
#
# Finds the PcapPlusPlus library.
#
# This will define the following variables
#
# PcapPlusPlus_FOUND
# PcapPlusPlus_INCLUDE_DIRS
# PcapPlusPlus_LIBRARIES
# PcapPlusPlus_VERSION
#
# and the following imported targets
#
# PcapPlusPlus::PcapPlusPlus
#

if (PC_PcapPlusPlus_INCLUDEDIR AND PC_PcapPlusPlus_LIBDIR)
set(PcapPlusPlus_FIND_QUIETLY TRUE)
endif ()

find_package(PkgConfig REQUIRED)
pkg_check_modules(PC_PcapPlusPlus REQUIRED PcapPlusPlus)

set(PcapPlusPlus_VERSION ${PC_PcapPlusPlus_VERSION})

mark_as_advanced(PcapPlusPlus_INCLUDE_DIR PcapPlusPlus_LIBRARY)

foreach (LIB_NAME ${PC_PcapPlusPlus_LIBRARIES})
find_library(${LIB_NAME}_PATH ${LIB_NAME} HINTS ${PC_PcapPlusPlus_LIBDIR})
if (${LIB_NAME}_PATH)
list(APPEND PcapPlusPlus_LIBS ${${LIB_NAME}_PATH})
endif ()
endforeach ()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(PcapPlusPlus
REQUIRED_VARS PC_PcapPlusPlus_INCLUDEDIR PC_PcapPlusPlus_LIBDIR
VERSION_VAR PcapPlusPlus_VERSION
)

if (PcapPlusPlus_FOUND)
set(PcapPlusPlus_INCLUDE_DIRS ${PC_PcapPlusPlus_INCLUDEDIR})
set(PcapPlusPlus_LIBRARIES ${PcapPlusPlus_LIBS})
endif ()

if (PcapPlusPlus_FOUND AND NOT TARGET PcapPlusPlus::PcapPlusPlus)
add_library(PcapPlusPlus::PcapPlusPlus INTERFACE IMPORTED)
set_target_properties(PcapPlusPlus::PcapPlusPlus PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${PcapPlusPlus_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES "${PcapPlusPlus_LIBRARIES}"
INTERFACE_COMPILE_FLAGS "${PC_PcapPlusPlus_CFLAGS}"
)
endif ()

0 comments on commit 82ff9b7

Please sign in to comment.