feat: auto-detect libnet

This commit is contained in:
Glenn Y. Rolland 2023-12-24 20:27:59 +01:00
parent 2adba95683
commit df3b4fc503
2 changed files with 13 additions and 16 deletions

View file

@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.10) cmake_minimum_required(VERSION 3.25)
# Set the project name and version # Set the project name and version
project(IGMPPacketGenerator VERSION 1.0) project(IGMPPacketGenerator VERSION 1.0)
@ -7,11 +7,18 @@ project(IGMPPacketGenerator VERSION 1.0)
set(CMAKE_C_STANDARD 11) set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED True) set(CMAKE_C_STANDARD_REQUIRED True)
# Find the libnet library
find_package(Libnet REQUIRED)
# Add the executable # Add the executable
add_executable(igmp_packet_generator src/igmpgen.c) add_executable(igmpgen src/igmpgen.c)
# Detect the net library
find_library(LIBNET_LIBRARY NAMES net libnet libnet1 REQUIRED)
message(STATUS "libnet detected as ${LIBNET_LIBRARY}")
# Add the directories where the compiler can find the libnet headers
target_include_directories(igmpgen PRIVATE /usr/include)
# Add the directories where the compiler can find the libnet libraries
target_link_directories(igmpgen PRIVATE /usr/lib)
# Link the executable to the libnet library # Link the executable to the libnet library
target_link_libraries(igmp_packet_generator Libnet::Libnet) target_link_libraries(igmpgen ${LIBNET_LIBRARY})

View file

@ -1,10 +0,0 @@
IGMPPROG=igmpgen
CFLAGS=-Werror -Wall `libnet-config --defines` -D_DEFAULT_SOURCE
LDFLAGS=`libnet-config --libs`
all:
gcc $(CFLAGS) $(IGMPPROG).c -o $(IGMPPROG) $(LDFLAGS)
clean:
rm -f $(IGMPPROG)