From 2dfe4a1a88ded4e500fedae02c7f3c2e4c6530fe Mon Sep 17 00:00:00 2001 From: Alex 'AdUser' Z Date: Mon, 9 Jan 2023 13:03:11 +1000 Subject: [PATCH] * refactor CMakeLists.txt to use pkg-config --- CMakeLists.txt | 3 --- src/backends/CMakeLists.txt | 14 +++++++++----- src/backends/{ipset.c => ipset6.c} | 0 src/filters/CMakeLists.txt | 4 ++-- src/sources/CMakeLists.txt | 4 ++-- 5 files changed, 13 insertions(+), 12 deletions(-) rename src/backends/{ipset.c => ipset6.c} (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index dbd9b38..11d359f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,9 +40,6 @@ if (WITH_HARDENING) add_definitions("-D_FORTIFY_SOURCE=2") endif () -pkg_check_modules(IPSET "libipset") -pkg_check_modules(REDIS "hiredis") -pkg_check_modules(PCRE "libpcre") pkg_check_modules(READLINE "readline" REQUIRED) message(STATUS "----------------------------------------") diff --git a/src/backends/CMakeLists.txt b/src/backends/CMakeLists.txt index 606570f..2a31e86 100644 --- a/src/backends/CMakeLists.txt +++ b/src/backends/CMakeLists.txt @@ -5,16 +5,20 @@ set(BACKENDS "") add_library("b_exec" MODULE "exec.c" "../strlcpy.c") list(APPEND BACKENDS "exec") -find_library(REDIS_FOUND "hiredis") -if (WITH_REDIS AND REDIS_FOUND) +if (WITH_REDIS) + pkg_check_modules(REDIS "hiredis" REQUIRED) add_library("b_redis" MODULE "redis.c" "../strlcpy.c") target_link_libraries("b_redis" "hiredis") list(APPEND BACKENDS "redis") endif () -find_library(IPSET_FOUND "ipset") -if (WITH_IPSET AND IPSET_FOUND) - add_library("b_ipset" MODULE "ipset.c" "../strlcpy.c") +if (WITH_IPSET) + pkg_check_modules(IPSET "libipset" REQUIRED) + if (IPSET_VERSION VERSION_LESS 7) + add_library("b_ipset" MODULE "ipset6.c" "../strlcpy.c") + else () + message(SEND_ERROR "ipset version >= 7.X not supported yet") + endif () target_link_libraries("b_ipset" "ipset") list(APPEND BACKENDS "ipset") endif () diff --git a/src/backends/ipset.c b/src/backends/ipset6.c similarity index 100% rename from src/backends/ipset.c rename to src/backends/ipset6.c diff --git a/src/filters/CMakeLists.txt b/src/filters/CMakeLists.txt index 7321cb9..175f4fc 100644 --- a/src/filters/CMakeLists.txt +++ b/src/filters/CMakeLists.txt @@ -5,8 +5,8 @@ set(FILTERS "") add_library("f_preg" MODULE "preg.c" "../strlcpy.c" "../fnv32a.c") list(APPEND FILTERS "preg") -find_library(PCRE_FOUND "pcre") -if (WITH_PCRE AND PCRE_FOUND) +if (WITH_PCRE) + pkg_check_modules(PCRE "libpcre" REQUIRED) add_library("f_pcre" MODULE "pcre.c" "../strlcpy.c" "../fnv32a.c") target_link_libraries("f_pcre" "pcre") list(APPEND FILTERS "pcre") diff --git a/src/sources/CMakeLists.txt b/src/sources/CMakeLists.txt index b822373..b087fc1 100644 --- a/src/sources/CMakeLists.txt +++ b/src/sources/CMakeLists.txt @@ -8,8 +8,8 @@ list(APPEND SOURCES "files") add_library("s_portknock" MODULE "portknock.c" "../strlcpy.c" "../fnv32a.c") list(APPEND SOURCES "portknock") -find_library(REDIS_FOUND "hiredis") -if (WITH_REDIS AND REDIS_FOUND) +if (WITH_REDIS) + pkg_check_modules(REDIS "hiredis" REQUIRED) add_library("s_redis" MODULE "redis.c" "../strlcpy.c") target_link_libraries("s_redis" "hiredis") list(APPEND SOURCES "redis")