1From 89ad9c143825b13d028c2f1713d55e83135d5c0f Mon Sep 17 00:00:00 2001 2From: Fabrice Fontaine <fontaine.fabrice@gmail.com> 3Date: Sat, 5 Sep 2020 15:38:33 +0200 4Subject: [PATCH] CMakesLists.txt: fix static build with pcap 5 6Use pkg-config to find the dependencies of pcap such as libnl otherwise 7a static-only build will fail on: 8 9[100%] Linking C executable ef 10/srv/storage/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /srv/storage/autobuild/run/instance-0/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libpcap.a(pcap-linux.o): in function `nl80211_init': 11pcap-linux.c:(.text+0x460): undefined reference to `nl_socket_alloc' 12/srv/storage/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: pcap-linux.c:(.text+0x498): undefined reference to `genl_connect' 13 14Fixes: 15 - http://autobuild.buildroot.org/results/99062bfc8c21c32bc835acae675aede7c9cf0c90 16 17Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> 18[Upstream status: https://github.com/microchip-ung/easyframes/pull/2] 19--- 20 CMakeLists.txt | 20 ++++++++++++++------ 21 1 file changed, 14 insertions(+), 6 deletions(-) 22 23diff --git a/CMakeLists.txt b/CMakeLists.txt 24index a62a950..5be128c 100644 25--- a/CMakeLists.txt 26+++ b/CMakeLists.txt 27@@ -7,13 +7,21 @@ include_directories(src) 28 29 30 set(_LIBPCAP "") 31-FIND_PATH(PCAP_INCLUDE_DIR NAMES pcap/pcap.h) 32-FIND_LIBRARY(PCAP_LIBRARY NAMES pcap) 33- 34-if (PCAP_LIBRARY) 35+find_package(PkgConfig) 36+pkg_check_modules(PCAP libpcap) 37+if (PCAP_FOUND) 38 add_definitions(-DHAS_LIBPCAP) 39- include_directories(${PCAP_INCLUDE_DIR}) 40- set(_LIBPCAP ${PCAP_LIBRARY}) 41+ include_directories(${PCAP_INCLUDE_DIRS}) 42+ set(_LIBPCAP ${PCAP_LIBRARIES}) 43+else() 44+ FIND_PATH(PCAP_INCLUDE_DIR NAMES pcap/pcap.h) 45+ FIND_LIBRARY(PCAP_LIBRARY NAMES pcap) 46+ 47+ if (PCAP_LIBRARY) 48+ add_definitions(-DHAS_LIBPCAP) 49+ include_directories(${PCAP_INCLUDE_DIR}) 50+ set(_LIBPCAP ${PCAP_LIBRARY}) 51+ endif() 52 endif() 53 54 add_library(libef STATIC 55-- 562.28.0 57 58