From 41b91a982b8297babf008104e00ecbaa58ca4da7 Mon Sep 17 00:00:00 2001 From: Li Cao Date: Tue, 2 Jul 2024 10:16:39 +0800 Subject: [PATCH] [spinel] allow custom config file for lib spinel (#10449) --- src/lib/CMakeLists.txt | 8 ++++++++ src/lib/spinel/CMakeLists.txt | 6 ++++++ src/lib/spinel/openthread-spinel-config.h | 8 ++++++++ 3 files changed, 22 insertions(+) diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt index 31e6c01ef..631f912a7 100644 --- a/src/lib/CMakeLists.txt +++ b/src/lib/CMakeLists.txt @@ -26,6 +26,14 @@ # POSSIBILITY OF SUCH DAMAGE. # +add_library(ot-lib-config INTERFACE) + +set(OT_LIB_CONFIG "" CACHE STRING "Lib project-specific config header file") +if (OT_LIB_CONFIG) + target_compile_definitions(ot-lib-config INTERFACE "OPENTHREAD_PROJECT_LIB_CONFIG_FILE=\"${OT_LIB_CONFIG}\"") + message(STATUS "OT_LIB_CONFIG=\"${OT_LIB_CONFIG}\"") +endif() + add_subdirectory(hdlc) add_subdirectory(platform) add_subdirectory(spinel) diff --git a/src/lib/spinel/CMakeLists.txt b/src/lib/spinel/CMakeLists.txt index 5ff22c0f5..74c3a95f4 100644 --- a/src/lib/spinel/CMakeLists.txt +++ b/src/lib/spinel/CMakeLists.txt @@ -99,17 +99,23 @@ target_sources(openthread-spinel-ncp PRIVATE ${COMMON_SOURCES}) target_sources(openthread-spinel-rcp PRIVATE ${COMMON_SOURCES}) target_link_libraries(openthread-radio-spinel + INTERFACE + ot-lib-config PRIVATE ot-config ) target_link_libraries(openthread-spinel-ncp + INTERFACE + ot-lib-config PRIVATE ot-config-ftd ot-config ) target_link_libraries(openthread-spinel-rcp + INTERFACE + ot-lib-config PRIVATE ot-config-radio ot-config diff --git a/src/lib/spinel/openthread-spinel-config.h b/src/lib/spinel/openthread-spinel-config.h index f12b33187..b49bfc96f 100644 --- a/src/lib/spinel/openthread-spinel-config.h +++ b/src/lib/spinel/openthread-spinel-config.h @@ -34,6 +34,14 @@ #ifndef OPENTHREAD_SPINEL_CONFIG_H_ #define OPENTHREAD_SPINEL_CONFIG_H_ +/** + * Include project specific lib config file if defined. + * + */ +#ifdef OPENTHREAD_PROJECT_LIB_CONFIG_FILE +#include OPENTHREAD_PROJECT_LIB_CONFIG_FILE +#endif + /** * @def OPENTHREAD_SPINEL_CONFIG_OPENTHREAD_MESSAGE_ENABLE *