整定一版

This commit is contained in:
冯佳
2025-12-19 17:01:27 +08:00
parent 294a49f207
commit 8bddc34c88
43 changed files with 7273 additions and 956 deletions

View File

@ -6,14 +6,70 @@ project(menu VERSION 1.3.0 LANGUAGES C)
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED ON)
# 源文件
set(MENU_SOURCES
menu.c
# 核心层源文件
set(CORE_SOURCES
src/core/menu_core.c
src/core/menu_event.c
src/core/menu_hash.c
src/core/menu_stack.c
src/core/menu_permission.c
src/core/menu_persistence.c
)
# 库头文件
# 功能扩展层源文件
set(FEATURE_SOURCES
src/param/menu_param.c
src/lang/menu_lang.c
)
# API层源文件
set(API_SOURCES
api/menu_api.c
)
# 硬件端口层源文件
set(PORT_SOURCES
port/menu_port.c
)
# 所有源文件
set(MENU_SOURCES
${CORE_SOURCES}
${FEATURE_SOURCES}
${API_SOURCES}
${PORT_SOURCES}
)
# 核心层头文件
set(CORE_HEADERS
src/core/menu_config.h
src/core/menu_types.h
src/core/menu_permission.h
src/core/menu_persistence.h
)
# 功能扩展层头文件
set(FEATURE_HEADERS
src/param/menu_param.h
src/lang/menu_lang.h
)
# API层头文件
set(API_HEADERS
api/menu_api.h
)
# 硬件端口层头文件
set(PORT_HEADERS
port/menu_port.h
)
# 所有头文件
set(MENU_HEADERS
menu.h
${CORE_HEADERS}
${FEATURE_HEADERS}
${API_HEADERS}
${PORT_HEADERS}
)
# 创建静态库
@ -24,20 +80,31 @@ set_target_properties(menu PROPERTIES
PUBLIC_HEADER "${MENU_HEADERS}"
)
# 包含当前目录
# 包含目录
target_include_directories(menu PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/core>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/param>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/lang>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/api>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/port>
$<INSTALL_INTERFACE:include>
)
# 示例程序
option(BUILD_EXAMPLES "Build examples" ON)
option(BUILD_EXAMPLES "Build examples" OFF)
if(BUILD_EXAMPLES)
# 添加示例目录
add_subdirectory(examples)
endif()
# 添加demo目录
add_subdirectory(demo)
# 添加test目录
add_subdirectory(test)
# 安装规则
install(TARGETS menu
ARCHIVE DESTINATION lib