初始化整定
This commit is contained in:
112
CMakeLists.txt
112
CMakeLists.txt
@ -1,112 +0,0 @@
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
project(menu VERSION 1.3.0 LANGUAGES C)
|
||||
|
||||
# 设置C标准
|
||||
set(CMAKE_C_STANDARD 99)
|
||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
|
||||
# 核心层源文件
|
||||
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
|
||||
${CORE_HEADERS}
|
||||
${FEATURE_HEADERS}
|
||||
${API_HEADERS}
|
||||
${PORT_HEADERS}
|
||||
)
|
||||
|
||||
# 创建静态库
|
||||
add_library(menu STATIC ${MENU_SOURCES})
|
||||
|
||||
# 设置库的公共头文件
|
||||
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" OFF)
|
||||
|
||||
if(BUILD_EXAMPLES)
|
||||
# 添加示例目录
|
||||
add_subdirectory(examples)
|
||||
endif()
|
||||
|
||||
# 添加demo目录
|
||||
add_subdirectory(demo)
|
||||
|
||||
# 添加test目录
|
||||
add_subdirectory(test)
|
||||
|
||||
# 安装规则
|
||||
install(TARGETS menu
|
||||
ARCHIVE DESTINATION lib
|
||||
PUBLIC_HEADER DESTINATION include
|
||||
)
|
||||
Reference in New Issue
Block a user