mirror of
https://github.com/openwrt/packages.git
synced 2025-12-10 04:31:21 +00:00
apfree-wifidog: backport patch fixing CMake >= 4.0 support
Backport upstream patch fixing support for CMake >= 4.0 version. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
This commit is contained in:
committed by
Hannu Nyman
parent
405bac066d
commit
f34ff524b8
@@ -0,0 +1,236 @@
|
||||
From 66e8f953cc297c7263b3a8f99caedb2ad40816b3 Mon Sep 17 00:00:00 2001
|
||||
From: Dengfeng Liu <liudf0716@gmail.com>
|
||||
Date: Mon, 18 Nov 2024 15:46:04 +0800
|
||||
Subject: [PATCH] refactor: update CMake configuration for improved structure
|
||||
and clarity
|
||||
|
||||
Signed-off-by: Dengfeng Liu <liudf0716@gmail.com>
|
||||
---
|
||||
CMakeLists.txt | 47 +++++++++-------
|
||||
src/CMakeLists.txt | 134 ++++++++++++++++++++-------------------------
|
||||
2 files changed, 85 insertions(+), 96 deletions(-)
|
||||
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -1,32 +1,37 @@
|
||||
-cmake_minimum_required(VERSION 2.8.12)
|
||||
-project(ApFreeWiFidog C)
|
||||
+cmake_minimum_required(VERSION 3.12)
|
||||
+project(apfree-wifidog
|
||||
+ VERSION 1.0.0
|
||||
+ DESCRIPTION "ApFree WiFiDog"
|
||||
+ LANGUAGES C)
|
||||
|
||||
+# Set C standard and module path
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
|
||||
-
|
||||
-option(AW_DEBUG "Build debug" ON)
|
||||
-option(AW_WEBSSH "Build with web ssh support" OFF)
|
||||
-option(AW_FW3 "Build with fw3 support" OFF)
|
||||
-
|
||||
-find_package(LibEvent)
|
||||
-if(NOT LibEvent_FOUND)
|
||||
- message(FATAL_ERROR "libevent2 not found!")
|
||||
-endif(NOT LibEvent_FOUND)
|
||||
-
|
||||
-find_package(OpenSSL)
|
||||
-if(NOT OPENSSL_FOUND)
|
||||
- message(FATAL_ERROR "OpenSSL not found!")
|
||||
-endif(NOT OPENSSL_FOUND)
|
||||
+set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
+set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules" ${CMAKE_MODULE_PATH})
|
||||
|
||||
+# Options
|
||||
+option(AW_DEBUG "Build with debug support" ON)
|
||||
+option(AW_FW3 "Build with iptables support" OFF)
|
||||
+
|
||||
+# Required packages
|
||||
+include(FindPackageHandleStandardArgs)
|
||||
+
|
||||
+# Find and include dependencies
|
||||
+find_package(LibEvent REQUIRED)
|
||||
+find_package(OpenSSL REQUIRED)
|
||||
find_package(JSON-C REQUIRED)
|
||||
-include_directories(${JSON-C_INCLUDE_DIR})
|
||||
-
|
||||
find_package(UCI REQUIRED)
|
||||
-include_directories(${UCI_INCLUDE_DIR})
|
||||
|
||||
-if(LIB_INSTALL_DIR)
|
||||
-else()
|
||||
- set(LIB_INSTALL_DIR lib)
|
||||
+# Set installation directory
|
||||
+if(NOT DEFINED LIB_INSTALL_DIR)
|
||||
+ set(LIB_INSTALL_DIR lib)
|
||||
endif()
|
||||
|
||||
+# Include directories
|
||||
+include_directories(
|
||||
+ ${JSON-C_INCLUDE_DIR}
|
||||
+ ${UCI_INCLUDE_DIR}
|
||||
+)
|
||||
+
|
||||
+# Add subdirectories
|
||||
add_subdirectory(src)
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -1,96 +1,80 @@
|
||||
-
|
||||
+# Define source file groups
|
||||
set(src_apfreewifidog
|
||||
- main.c
|
||||
- gateway.c
|
||||
- commandline.c
|
||||
- conf.c
|
||||
- debug.c
|
||||
- firewall.c
|
||||
- centralserver.c
|
||||
- http.c
|
||||
- auth.c
|
||||
- client_list.c
|
||||
- util.c
|
||||
- wdctl_thread.c
|
||||
- ping_thread.c
|
||||
- safe.c
|
||||
- pstring.c
|
||||
- ssl_redir.c
|
||||
- wd_client.c
|
||||
- wd_util.c
|
||||
- mqtt_thread.c
|
||||
- ws_thread.c
|
||||
- dns_forward.c
|
||||
+ main.c gateway.c commandline.c conf.c debug.c
|
||||
+ firewall.c centralserver.c http.c auth.c client_list.c
|
||||
+ util.c wdctl_thread.c ping_thread.c safe.c pstring.c
|
||||
+ ssl_redir.c wd_client.c wd_util.c mqtt_thread.c
|
||||
+ ws_thread.c dns_forward.c
|
||||
)
|
||||
|
||||
+set(src_fw3
|
||||
+ fw_iptables.c fw3_iptc.c ipset.c
|
||||
+)
|
||||
|
||||
-if(AW_FW3)
|
||||
- set(src_fw3
|
||||
- fw_iptables.c
|
||||
- fw3_iptc.c
|
||||
- ipset.c
|
||||
- )
|
||||
-else()
|
||||
- set(src_fw4
|
||||
- fw_nft.c
|
||||
- )
|
||||
-endif()
|
||||
+set(src_fw4
|
||||
+ fw_nft.c
|
||||
+)
|
||||
|
||||
set(src_dhcp
|
||||
- dhcp_cpi.c
|
||||
- dhcp.c
|
||||
- ipv4.c
|
||||
- options.c
|
||||
-)
|
||||
-
|
||||
-set(src_wdctlx wdctl.c util.c debug.c)
|
||||
-
|
||||
-set(libs
|
||||
- pthread
|
||||
- m
|
||||
- z
|
||||
- json-c
|
||||
- uci
|
||||
- ssl
|
||||
- crypto
|
||||
- event
|
||||
- event_openssl
|
||||
- netfilter_queue
|
||||
- resolv
|
||||
- mosquitto)
|
||||
+ dhcp_cpi.c dhcp.c ipv4.c options.c
|
||||
+)
|
||||
+
|
||||
+set(src_wdctlx
|
||||
+ wdctl.c util.c debug.c
|
||||
+)
|
||||
+
|
||||
+# Define common libraries
|
||||
+set(common_libs
|
||||
+ pthread m z json-c uci ssl crypto
|
||||
+ event event_openssl netfilter_queue
|
||||
+ resolv mosquitto
|
||||
+)
|
||||
|
||||
+# Set compiler flags
|
||||
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall --std=gnu99 -Wmissing-declarations")
|
||||
if(AW_DEBUG)
|
||||
- message("Building debug")
|
||||
- ADD_DEFINITIONS(-ggdb -Wall --std=gnu99 -Wmissing-declarations)
|
||||
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ggdb")
|
||||
+ message(STATUS "Building in DEBUG mode")
|
||||
else()
|
||||
- message("Buildign release")
|
||||
- ADD_DEFINITIONS(-O2 -Wall --std=gnu99 -Wmissing-declarations)
|
||||
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2")
|
||||
+ message(STATUS "Building in RELEASE mode")
|
||||
endif()
|
||||
|
||||
-if (AW_FW3)
|
||||
- message("Building with fw3")
|
||||
- ADD_DEFINITIONS(-DAW_FW3)
|
||||
- set(fw3_libs
|
||||
- dl
|
||||
- ip4tc
|
||||
- iptext
|
||||
- iptext4
|
||||
- xtables)
|
||||
+# Handle firewall version
|
||||
+if(AW_FW3)
|
||||
+ set(fw_source ${src_fw3})
|
||||
+ set(fw_libs dl ip4tc iptext iptext4 xtables)
|
||||
+ add_definitions(-DAW_FW3)
|
||||
+ message(STATUS "Building with fw3")
|
||||
+ set(src_fw3
|
||||
+ fw_iptables.c fw3_iptc.c ipset.c
|
||||
+ )
|
||||
else()
|
||||
- message("Building with fw4")
|
||||
- ADD_DEFINITIONS(-DAW_FW4)
|
||||
+ set(fw_source ${src_fw4})
|
||||
+ set(fw_libs "")
|
||||
+ add_definitions(-DAW_FW4)
|
||||
+ message(STATUS "Building with fw4")
|
||||
+ set(src_fw4
|
||||
+ fw_nft.c
|
||||
+ )
|
||||
endif()
|
||||
|
||||
+# Build targets
|
||||
add_executable(wdctlx ${src_wdctlx})
|
||||
-if(AW_FW3)
|
||||
- add_executable(wifidogx ${src_apfreewifidog} ${src_fw3} ${src_dhcp})
|
||||
- target_link_libraries(wifidogx ${libs} ${fw3_libs} ${CURL_LIBRARIES})
|
||||
-else()
|
||||
- add_executable(wifidogx ${src_apfreewifidog} ${src_fw4} ${src_dhcp})
|
||||
- target_link_libraries(wifidogx ${libs} ${CURL_LIBRARIES})
|
||||
-endif()
|
||||
|
||||
-install(TARGETS wifidogx wdctlx
|
||||
- RUNTIME DESTINATION bin
|
||||
+add_executable(wifidogx
|
||||
+ ${src_apfreewifidog}
|
||||
+ ${fw_source}
|
||||
+ ${src_dhcp}
|
||||
)
|
||||
|
||||
+target_link_libraries(wifidogx
|
||||
+ ${common_libs}
|
||||
+ ${fw_libs}
|
||||
+ ${CURL_LIBRARIES}
|
||||
+)
|
||||
+
|
||||
+# Installation
|
||||
+install(TARGETS wifidogx wdctlx
|
||||
+ RUNTIME DESTINATION bin
|
||||
+)
|
||||
@@ -0,0 +1,22 @@
|
||||
From eda722063c6774f7adce0e75cccf4c1493b9e3cd Mon Sep 17 00:00:00 2001
|
||||
From: Dengfeng Liu <liudf0716@gmail.com>
|
||||
Date: Sat, 14 Dec 2024 10:14:52 +0800
|
||||
Subject: [PATCH] refactor: disable debug support by default in CMake
|
||||
configuration
|
||||
|
||||
Signed-off-by: Dengfeng Liu <liudf0716@gmail.com>
|
||||
---
|
||||
CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -10,7 +10,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules" ${CMAKE_MODULE_PATH})
|
||||
|
||||
# Options
|
||||
-option(AW_DEBUG "Build with debug support" ON)
|
||||
+option(AW_DEBUG "Build with debug support" OFF)
|
||||
option(AW_FW3 "Build with iptables support" OFF)
|
||||
|
||||
# Required packages
|
||||
Reference in New Issue
Block a user