cmake_minimum_required(VERSION 3.14)
project(wifiutils C)

include(FindPkgConfig)
pkg_check_modules(NL3 REQUIRED libnl-3.0)
pkg_check_modules(NLROUTE3 REQUIRED libnl-route-3.0)
pkg_check_modules(NLGENL3 REQUIRED libnl-genl-3.0)
find_library(libeasy NAMES easy)

include_directories(${NL3_INCLUDE_DIRS} ${NLROUTE3_INCLUDE_DIRS} ${NLGENL3_INCLUDE_DIRS})
link_directories(${NL3_LIBRARY_DIRS}  ${NLROUTE3_LIBRARY_DIRS} ${NLGENL3_LIBRARY_DIRS})

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -g -Wall -Werror -fPIC")

include_directories(${CMAKE_CURRENT_SOURCE_DIR})

set(WIFIUTILS_SRCS
	wifiutils.c
	opclass.c
)

add_library(wifiutils SHARED ${WIFIUTILS_SRCS})

target_link_libraries(wifiutils
	${NL3_LIBRARIES}
	${NLROUTE3_LIBRARIES}
	${NLGENL3_LIBRARIES}
	${libeasy}
)

install(TARGETS wifiutils DESTINATION /usr/lib)
install(FILES wifidefs.h wifiutils.h DESTINATION /usr/include)

add_custom_target(extra-clean
	COMMAND ${CMAKE_COMMAND} -E rm -f ${CMAKE_CURRENT_SOURCE_DIR}/modules/*/*.o
	COMMENT "Cleaning up test object files"
)
