From d1331c53a4b5073fac6391b80044b732710f43bd Mon Sep 17 00:00:00 2001 From: Mathieu Carbou Date: Sat, 25 Jan 2025 21:07:32 +0100 Subject: [PATCH] Introduce AsyncWebServerVersion.h to more easily manage and use library version --- src/AsyncWebServerVersion.h | 40 +++++++++++++++++++++++++++++++++++++ src/ESPAsyncWebServer.h | 5 +---- 2 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 src/AsyncWebServerVersion.h diff --git a/src/AsyncWebServerVersion.h b/src/AsyncWebServerVersion.h new file mode 100644 index 000000000..f9339ba0d --- /dev/null +++ b/src/AsyncWebServerVersion.h @@ -0,0 +1,40 @@ +// SPDX-License-Identifier: LGPL-3.0-or-later +// Copyright 2016-2025 Hristo Gochkov, Mathieu Carbou, Emil Muratov + +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +/** Major version number (X.x.x) */ +#define ASYNCWEBSERVER_VERSION_MAJOR 3 +/** Minor version number (x.X.x) */ +#define ASYNCWEBSERVER_VERSION_MINOR 6 +/** Patch version number (x.x.X) */ +#define ASYNCWEBSERVER_VERSION_PATCH 2 + +/** + * Macro to convert version number into an integer + * + * To be used in comparisons, such as ASYNCWEBSERVER_VERSION >= ASYNCWEBSERVER_VERSION_VAL(2, 0, 0) + */ +#define ASYNCWEBSERVER_VERSION_VAL(major, minor, patch) ((major << 16) | (minor << 8) | (patch)) + +/** + * Current version, as an integer + * + * To be used in comparisons, such as ASYNCWEBSERVER_VERSION_NUM >= ASYNCWEBSERVER_VERSION_VAL(2, 0, 0) + */ +#define ASYNCWEBSERVER_VERSION_NUM ASYNCWEBSERVER_VERSION_VAL(ASYNCWEBSERVER_VERSION_MAJOR, ASYNCWEBSERVER_VERSION_MINOR, ASYNCWEBSERVER_VERSION_PATCH) + +/** + * Current version, as string + */ +#define df2xstr(s) #s +#define df2str(s) df2xstr(s) +#define ASYNCWEBSERVER_VERSION df2str(ASYNCWEBSERVER_VERSION_MAJOR) "." df2str(ASYNCWEBSERVER_VERSION_MINOR) "." df2str(ASYNCWEBSERVER_VERSION_PATCH) + +#ifdef __cplusplus +} +#endif diff --git a/src/ESPAsyncWebServer.h b/src/ESPAsyncWebServer.h index e0031cf11..4eba75a2e 100644 --- a/src/ESPAsyncWebServer.h +++ b/src/ESPAsyncWebServer.h @@ -48,10 +48,7 @@ #include "literals.h" -#define ASYNCWEBSERVER_VERSION "3.6.2" -#define ASYNCWEBSERVER_VERSION_MAJOR 3 -#define ASYNCWEBSERVER_VERSION_MINOR 6 -#define ASYNCWEBSERVER_VERSION_REVISION 2 +#include "AsyncWebServerVersion.h" #define ASYNCWEBSERVER_FORK_ESP32Async #ifdef ASYNCWEBSERVER_REGEX