HW_Lib/lib/CMakeLists.txt

36 lines
1.2 KiB
CMake
Raw Normal View History

2024-06-21 09:42:02 +00:00
# 定义要创建的库列表及其对应的目录
set(LIBRARIES
HW_LIB_List src/list inc/list
HW_LIB_Task src/task inc/task
HW_LIB_Printf src/printf inc/printf
HW_LIB_Utils src/utils inc/utils
2024-06-25 10:17:14 +00:00
HW_LIB_Font src/font inc/font
2024-06-21 09:42:02 +00:00
HW_LIB_Iic src/iic inc/iic
HW_LIB_Spi src/spi inc/spi
2024-06-22 03:08:31 +00:00
HW_LIB_Key src/key inc/key
2024-06-22 06:29:51 +00:00
HW_LIB_Oled src/oled inc/oled
2024-08-29 08:46:54 +00:00
HW_LIB_Tft src/tft inc/tft
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-08-29 08:46:54 +00:00
add_library(${TARGET_NAME} STATIC ${LIB_SOURCES}
src/tft/tft.cpp
inc/tft/tft.h)
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)