2024-06-21 09:42:02 +00:00
|
|
|
# 定义要创建的库列表及其对应的目录
|
|
|
|
set(LIBRARIES
|
2024-09-13 14:38:08 +00:00
|
|
|
HW_LIB_List list list/inc
|
|
|
|
HW_LIB_Task task task/inc
|
|
|
|
HW_LIB_Printf printf printf/inc
|
|
|
|
HW_LIB_Utils utils utils/inc
|
|
|
|
HW_LIB_Font font font/inc
|
|
|
|
HW_LIB_Iic iic iic/inc
|
|
|
|
HW_LIB_Spi spi spi/inc
|
|
|
|
HW_LIB_Key key key/inc
|
|
|
|
HW_LIB_Oled oled oled/inc
|
|
|
|
HW_LIB_Tft tft tft/inc
|
2024-11-27 05:49:34 +00:00
|
|
|
HW_LIB_Flash flash flash/inc
|
2024-12-19 14:49:08 +00:00
|
|
|
HW_LIB_Lui lui lui/inc
|
2024-06-21 09:42:02 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
# 循环浏览库列表以创建它们
|
|
|
|
list(LENGTH LIBRARIES LIBRARIES_LENGTH)
|
|
|
|
math(EXPR LIBRARIES_LENGTH "${LIBRARIES_LENGTH}-1")
|
|
|
|
|
|
|
|
foreach (INDEX RANGE 0 ${LIBRARIES_LENGTH} 3)
|
|
|
|
list(GET LIBRARIES ${INDEX} TARGET_NAME)
|
|
|
|
MATH(EXPR SOURCE_DIR_INDEX "${INDEX}+1")
|
|
|
|
MATH(EXPR INCLUDE_DIR_INDEX "${INDEX}+2")
|
|
|
|
list(GET LIBRARIES ${SOURCE_DIR_INDEX} SOURCE_DIR)
|
|
|
|
list(GET LIBRARIES ${INCLUDE_DIR_INDEX} INCLUDE_DIR)
|
|
|
|
|
|
|
|
file(GLOB_RECURSE LIB_SOURCES "${SOURCE_DIR}/*.c" "${SOURCE_DIR}/*.cpp")
|
2024-09-13 14:38:08 +00:00
|
|
|
add_library(${TARGET_NAME} STATIC ${LIB_SOURCES})
|
2024-06-21 09:42:02 +00:00
|
|
|
target_include_directories(${TARGET_NAME} PUBLIC "${INCLUDE_DIR}")
|
|
|
|
endforeach ()
|
|
|
|
|
|
|
|
# 链接必要的库
|
2024-06-25 10:17:14 +00:00
|
|
|
target_link_libraries(HW_LIB_Spi HW_LIB_Utils)
|
2024-08-29 08:46:54 +00:00
|
|
|
target_link_libraries(HW_LIB_Oled HW_LIB_Font)
|
2024-09-16 14:51:12 +00:00
|
|
|
target_link_libraries(HW_LIB_Tft HW_LIB_Font)
|