46 lines
808 B
CMake
46 lines
808 B
CMake
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(MENU_SOURCES
|
|
menu.c
|
|
)
|
|
|
|
# 库头文件
|
|
set(MENU_HEADERS
|
|
menu.h
|
|
)
|
|
|
|
# 创建静态库
|
|
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}>
|
|
$<INSTALL_INTERFACE:include>
|
|
)
|
|
|
|
# 示例程序
|
|
option(BUILD_EXAMPLES "Build examples" ON)
|
|
|
|
if(BUILD_EXAMPLES)
|
|
# 添加示例目录
|
|
add_subdirectory(examples)
|
|
endif()
|
|
|
|
# 安装规则
|
|
install(TARGETS menu
|
|
ARCHIVE DESTINATION lib
|
|
PUBLIC_HEADER DESTINATION include
|
|
)
|