From da50abc15bcaf31cd1278ee689dc79a1532bd39c Mon Sep 17 00:00:00 2001
From: Dharanendiran <dharanendiran@timesys.com>
Date: Tue, 26 Sep 2023 14:22:26 +0530
Subject: [PATCH] libevent version check

---
 cmake/libevent.cmake | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/cmake/libevent.cmake b/cmake/libevent.cmake
index 306be50e..dcec77a8 100644
--- a/cmake/libevent.cmake
+++ b/cmake/libevent.cmake
@@ -28,6 +28,22 @@
 # Router needs at least:
 SET(MIN_LIBEVENT_VERSION_REQUIRED "2.1")
 
+IF(CMAKE_CROSSCOMPILING)
+MACRO(FIND_LIBEVENT_VERSION)
+    FILE(STRINGS "${LIBEVENT_INCLUDE_DIRS}/event2/event-config.h"
+      LIBEVENT_VERSION_STRING
+      REGEX "^#define[\t ]+EVENT__VERSION[\t ]\"[0-9]+.*"
+      )
+    STRING(REGEX REPLACE
+      "^.*EVENT__VERSION[\t ]" "" LIBEVENT_VERSION "${LIBEVENT_VERSION_STRING}")
+    STRING(REGEX REPLACE
+      "\"" "" LIBEVENT_VERSION "${LIBEVENT_VERSION}")
+    STRING(REGEX REPLACE
+      "([.-0-9]+).*" "\\1" LIBEVENT_VERSION "${LIBEVENT_VERSION}")
+    MESSAGE(STATUS "LIBEVENT_VERSION_STRING ${LIBEVENT_VERSION_STRING}")
+    MESSAGE(STATUS "LIBEVENT_VERSION (${WITH_LIBEVENT}) ${LIBEVENT_VERSION}")
+ENDMACRO()
+ELSE()
 MACRO(FIND_LIBEVENT_VERSION)
   SET(TEST_SRC
     "#include <event.h>
@@ -64,6 +80,7 @@ MACRO(FIND_LIBEVENT_VERSION)
     MESSAGE(WARNING "Could not determine LIBEVENT_VERSION")
   ENDIF()
 ENDMACRO()
+ENDIF()
 
 MACRO (FIND_SYSTEM_LIBEVENT)
   IF (NOT LIBEVENT_INCLUDE_PATH)
-- 
2.25.1

