stm32h743_player/Middlewares/Third_Party/CMakeLists.txt
2024-03-03 22:46:44 +08:00

136 lines
3.1 KiB
CMake

# tlsf
set(TLSF_SOURCES
"${CMAKE_CURRENT_LIST_DIR}/tlsf/tlsf.c"
)
add_library(tlsf ${TLSF_SOURCES})
target_include_directories(tlsf PUBLIC
"${CMAKE_CURRENT_LIST_DIR}/tlsf"
)
target_compile_options(tlsf PRIVATE
${TARGET_BUILD_ARCH_OPTIONS}
${TARGET_BUILD_DEFINATIONS}
)
target_link_options(tlsf PRIVATE
${TARGET_BUILD_ARCH_OPTIONS}
)
# minimp3
add_library(minimp3 INTERFACE)
target_include_directories(minimp3 INTERFACE
"${CMAKE_CURRENT_LIST_DIR}/minimp3"
)
# lvgl
set(LVGL_SOURCE_DIRS
"${CMAKE_CURRENT_LIST_DIR}/lvgl/src/core/*.c"
"${CMAKE_CURRENT_LIST_DIR}/lvgl/src/draw/*.c"
"${CMAKE_CURRENT_LIST_DIR}/lvgl/src/extra/*.c"
"${CMAKE_CURRENT_LIST_DIR}/lvgl/src/font/*.c"
"${CMAKE_CURRENT_LIST_DIR}/lvgl/src/hal/*.c"
"${CMAKE_CURRENT_LIST_DIR}/lvgl/src/misc/*.c"
"${CMAKE_CURRENT_LIST_DIR}/lvgl/src/widgets/*.c"
"${CMAKE_CURRENT_LIST_DIR}/lvgl/demos/*.c"
)
file(GLOB_RECURSE LVGL_SOURCES ${LVGL_SOURCE_DIRS})
#add_library(lvgl ${LVGL_SOURCES})
#target_include_directories(lvgl PUBLIC
# "${CMAKE_CURRENT_LIST_DIR}/lvgl"
# "${CMAKE_CURRENT_LIST_DIR}/lvgl/demos"
# "${CMAKE_SOURCE_DIR}/User/ports/lvgl"
#)
#target_compile_options(lvgl PRIVATE
# ${TARGET_BUILD_ARCH_OPTIONS}
# ${TARGET_BUILD_DEFINATIONS}
#)
#target_link_options(lvgl PRIVATE
# ${TARGET_BUILD_ARCH_OPTIONS}
#)
# FreeRTOS
set(FREERTOS_SOURCE_DIRS
"FreeRTOS/Source/*.c"
)
file(GLOB_RECURSE FREERTOS_SOURCES ${FREERTOS_SOURCE_DIRS})
add_library(freertos ${FREERTOS_SOURCES})
target_include_directories(freertos PUBLIC
"${CMAKE_CURRENT_LIST_DIR}/FreeRTOS/Source/CMSIS_RTOS"
"${CMAKE_CURRENT_LIST_DIR}/FreeRTOS/Source/include"
"${CMAKE_CURRENT_LIST_DIR}/FreeRTOS/Source/portable/GCC/ARM_CM4F"
)
target_compile_options(freertos PRIVATE
${TARGET_BUILD_ARCH_OPTIONS}
${TARGET_BUILD_DEFINATIONS}
)
target_link_options(freertos PRIVATE
${TARGET_BUILD_ARCH_OPTIONS}
)
# easylogger
set(EASYLOGGER_SOURCES
"${CMAKE_CURRENT_LIST_DIR}/EasyLogger/src/elog_async.c"
"${CMAKE_CURRENT_LIST_DIR}/EasyLogger/src/elog_buf.c"
"${CMAKE_CURRENT_LIST_DIR}/EasyLogger/src/elog_utils.c"
"${CMAKE_CURRENT_LIST_DIR}/EasyLogger/src/elog.c"
)
add_library(easylogger ${EASYLOGGER_SOURCES})
target_include_directories(easylogger PUBLIC
"${CMAKE_CURRENT_LIST_DIR}/EasyLogger/inc"
"${CMAKE_SOURCE_DIR}/User/ports/EasyLogger"
)
target_compile_options(easylogger PRIVATE
${TARGET_BUILD_ARCH_OPTIONS}
${TARGET_BUILD_DEFINATIONS}
)
target_link_options(easylogger PRIVATE
${TARGET_BUILD_ARCH_OPTIONS}
)
# fatfs
set(FATFS_SOURCES
"${CMAKE_CURRENT_LIST_DIR}/FatFs/ff.c"
"${CMAKE_CURRENT_LIST_DIR}/FatFs/ffsystem.c"
"${CMAKE_CURRENT_LIST_DIR}/FatFs/ffunicode.c"
)
add_library(fatfs ${FATFS_SOURCES})
target_include_directories(fatfs PUBLIC
"${CMAKE_CURRENT_LIST_DIR}/FatFs"
"${CMAKE_SOURCE_DIR}/User/ports/Fatfs"
)
target_link_libraries(fatfs PRIVATE
freertos
)
target_compile_options(fatfs PRIVATE
${TARGET_BUILD_ARCH_OPTIONS}
${TARGET_BUILD_DEFINATIONS}
)
target_link_options(fatfs PRIVATE
${TARGET_BUILD_ARCH_OPTIONS}
)