M .gitmodules => .gitmodules +3 -0
@@ 65,3 65,6 @@
[submodule "module-vfs/thirdparty/fatfs"]
path = module-vfs/thirdparty/fatfs
url = ../fatfs.git
+[submodule "module-vfs/thirdparty/littlefs"]
+ path = module-vfs/thirdparty/littlefs
+ url = https://github.com/littlefs-project/littlefs.git
M module-vfs/CMakeLists.txt => module-vfs/CMakeLists.txt +2 -1
@@ 1,5 1,6 @@
cmake_minimum_required(VERSION 3.12)
include(thirdparty)
+include(thirdparty/littlefs.cmake)
project(module-vfs VERSION 1.0
DESCRIPTION "VFS module library")
@@ 119,7 120,7 @@ target_include_directories(${PROJECT_NAME}
${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/fatfs/source
)
-target_link_libraries(${PROJECT_NAME} ${TARGET_LIBRARIES} module-bsp module-utils)
+target_link_libraries(${PROJECT_NAME} ${TARGET_LIBRARIES} module-bsp module-utils littlefs)
if(${PROJECT_TARGET} STREQUAL "TARGET_Linux")
target_link_libraries(${PROJECT_NAME} -lstdc++fs)
A module-vfs/thirdparty/littlefs => module-vfs/thirdparty/littlefs +1 -0
@@ 0,0 1,1 @@
+Subproject commit 4c9146ea539f72749d6cc3ea076372a81b12cb11
A module-vfs/thirdparty/littlefs.cmake => module-vfs/thirdparty/littlefs.cmake +30 -0
@@ 0,0 1,30 @@
+include(thirdparty)
+
+set(LIBLITTLEFS_TARGET littlefs)
+
+
+set(LIBLITTLEFS_SRCDIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/littlefs)
+
+set(LIBLITTLEFS_SOURCES
+ ${LIBLITTLEFS_SRCDIR}/lfs.c
+ ${LIBLITTLEFS_SRCDIR}/lfs_util.c
+ ${LIBLITTLEFS_SRCDIR}/bd/lfs_filebd.c
+ ${LIBLITTLEFS_SRCDIR}/bd/lfs_rambd.c
+ ${LIBLITTLEFS_SRCDIR}/bd/lfs_testbd.c
+)
+
+set( LIBLITTLEFS_PUBLIC_INCLUDES ${LIBLITTLEFS_SRCDIR})
+set( LIBLITTLEFS_PRIVATE_INCLUDES ${LIBLITTLEFS_SRCDIR}/bd)
+
+
+add_library( ${LIBLITTLEFS_TARGET} STATIC ${LIBLITTLEFS_SOURCES} )
+third_party_target_setup( ${LIBLITTLEFS_TARGET} )
+
+target_include_directories( ${LIBLITTLEFS_TARGET}
+ PUBLIC
+ ${LIBLITTLEFS_PUBLIC_INCLUDES}
+ PRIVATE
+ ${LIBLITTLEFS_PRIVATE_INCLUDES}
+)
+
+third_party_source_optimization( ${LIBLITTLEFS_SOURCES} )