mcu_hi3321_watch/middleware/utils/fs/vfs/CMakeLists.txt
2025-05-26 20:15:20 +08:00

225 lines
6.5 KiB
CMake

set(COMPONENT_NAME "x_vfs")
set(FREERTOSTOPDIR ${ROOT_DIR}/open_source/freebsd)
set(NUTTX_FS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/nuttx_fs)
set(FS_PATH ${ROOT_DIR}/middleware/utils/fs)
# src list
set(SOURCES
${NUTTX_FS_DIR}/vfs/operation/fs_fallocate64.c
${NUTTX_FS_DIR}/vfs/operation/fs_unlink.c
${NUTTX_FS_DIR}/vfs/operation/fs_rmdir.c
${NUTTX_FS_DIR}/vfs/operation/fs_open.c
${NUTTX_FS_DIR}/vfs/operation/fullpath.c
${NUTTX_FS_DIR}/vfs/operation/fs_utime.c
${NUTTX_FS_DIR}/vfs/operation/fs_chattr.c
${NUTTX_FS_DIR}/vfs/operation/fs_truncate64.c
${NUTTX_FS_DIR}/vfs/operation/fs_dup.c
${NUTTX_FS_DIR}/vfs/operation/fs_lseek.c
${NUTTX_FS_DIR}/vfs/operation/fs_poll.c
${NUTTX_FS_DIR}/vfs/operation/fs_fallocate.c
${NUTTX_FS_DIR}/vfs/operation/fs_dupfd2.c
${NUTTX_FS_DIR}/vfs/operation/fs_mkdir.c
${NUTTX_FS_DIR}/vfs/operation/fs_statfs.c
${NUTTX_FS_DIR}/vfs/operation/fs_virstatfs.c
${NUTTX_FS_DIR}/vfs/operation/fs_pwrite.c
${NUTTX_FS_DIR}/vfs/operation/fs_truncate.c
${NUTTX_FS_DIR}/vfs/operation/fs_dupfd.c
${NUTTX_FS_DIR}/vfs/operation/fs_stat.c
${NUTTX_FS_DIR}/vfs/operation/fs_pwrite64.c
${NUTTX_FS_DIR}/vfs/operation/fs_pread.c
${NUTTX_FS_DIR}/vfs/operation/fs_rename.c
${NUTTX_FS_DIR}/vfs/operation/fs_select.c
${NUTTX_FS_DIR}/vfs/operation/fs_read.c
${NUTTX_FS_DIR}/vfs/operation/fs_writev.c
${NUTTX_FS_DIR}/vfs/operation/fs_fsync.c
${NUTTX_FS_DIR}/vfs/operation/fs_ioctl.c
${NUTTX_FS_DIR}/vfs/operation/fs_dup2.c
${NUTTX_FS_DIR}/vfs/operation/fs_fcntl.c
${NUTTX_FS_DIR}/vfs/operation/fs_initialize.c
${NUTTX_FS_DIR}/vfs/operation/fs_check.c
${NUTTX_FS_DIR}/vfs/operation/fs_pread64.c
${NUTTX_FS_DIR}/vfs/operation/fs_readv.c
${NUTTX_FS_DIR}/vfs/operation/fs_getfilep.c
${NUTTX_FS_DIR}/vfs/operation/fs_close.c
${NUTTX_FS_DIR}/vfs/operation/fs_init.c
${NUTTX_FS_DIR}/vfs/operation/fs_getlabel.c
${NUTTX_FS_DIR}/vfs/operation/fs_other.c
${NUTTX_FS_DIR}/vfs/operation/fs_lseek64.c
${NUTTX_FS_DIR}/vfs/operation/fs_write.c
${NUTTX_FS_DIR}/vfs/inode/fs_inoderelease.c
${NUTTX_FS_DIR}/vfs/inode/fs_inode.c
${NUTTX_FS_DIR}/vfs/inode/fs_files.c
${NUTTX_FS_DIR}/vfs/inode/fs_inodesearch.c
${NUTTX_FS_DIR}/vfs/inode/fs_filedetach.c
${NUTTX_FS_DIR}/vfs/inode/fs_inoderemove.c
${NUTTX_FS_DIR}/vfs/inode/fs_fileclose.c
${NUTTX_FS_DIR}/vfs/inode/fs_fileopen.c
${NUTTX_FS_DIR}/vfs/inode/fs_inodefree.c
${NUTTX_FS_DIR}/vfs/inode/fs_inodereserve.c
${NUTTX_FS_DIR}/vfs/inode/fs_inodeaddref.c
${NUTTX_FS_DIR}/vfs/inode/fs_inodefind.c
${NUTTX_FS_DIR}/vfs/inode/fs_foreachinode.c
${NUTTX_FS_DIR}/vfs/dirent/fs_readdir.c
${NUTTX_FS_DIR}/vfs/dirent/fs_opendir.c
${NUTTX_FS_DIR}/vfs/dirent/fs_telldir.c
${NUTTX_FS_DIR}/vfs/dirent/fs_seekdir.c
${NUTTX_FS_DIR}/vfs/dirent/fs_closedir.c
${NUTTX_FS_DIR}/vfs/dirent/fs_rewinddir.c
${NUTTX_FS_DIR}/vfs/mount/fs_mount.c
${NUTTX_FS_DIR}/vfs/mount/fs_foreachmountpoint.c
${NUTTX_FS_DIR}/vfs/mount/fs_umount.c
${NUTTX_FS_DIR}/vfs/driver/fs_findblockdriver.c
${NUTTX_FS_DIR}/vfs/driver/fs_unregisterblockdriver.c
${NUTTX_FS_DIR}/vfs/driver/fs_openblockdriver.c
${NUTTX_FS_DIR}/vfs/driver/fs_registerblockdriver.c
${NUTTX_FS_DIR}/vfs/driver/fs_mtdproxy.c
${NUTTX_FS_DIR}/vfs/driver/fs_closeblockdriver.c
${NUTTX_FS_DIR}/vfs/driver/fs_unregisterdriver.c
${NUTTX_FS_DIR}/vfs/driver/fs_blockproxy.c
${NUTTX_FS_DIR}/vfs/driver/fs_findmtddriver.c
${NUTTX_FS_DIR}/vfs/driver/fs_registerdriver.c
${CMAKE_CURRENT_SOURCE_DIR}/nxsem/nuttx_sem.c
${CMAKE_CURRENT_SOURCE_DIR}/vfs_cmd/dd_shellcmd.c
${CMAKE_CURRENT_SOURCE_DIR}/vfs_cmd/vfs_shellcmd.c
${CMAKE_CURRENT_SOURCE_DIR}/vfs_fs.c
)
add_definitions(-DCONFIG_NFILE_DESCRIPTORS=128)
set(PRIVATE_HEADER
${FS_PATH}/include
)
set(PUBLIC_HEADER
${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/include/disk
${CMAKE_CURRENT_SOURCE_DIR}/include/operation
${FS_PATH}/include
${FS_PATH}/fat/include
${FS_PATH}/fat/virpart/include
${FS_PATH}/vfs/include/bcache
${ROOT_DIR}/kernel/dpal/include
${ROOT_DIR}/kernel/dpal/device/include
${ROOT_DIR}/kernel/osal/include
${FREERTOSTOPDIR}/sys/dev/mmc
)
aux_source_directory(${FS_PATH}/yaffs2/os_adapt/adapt_freertos PUBLIC_HEADER)
if(${OS} STREQUAL "freertos")
LIST(APPEND PRIVATE_HEADER
${FS_PATH}/include/adapt_freertos
)
endif()
list(APPEND PUBLIC_HEADER
${CMAKE_CURRENT_SOURCE_DIR}/include/multi_partition
${ROOT_DIR}/drivers/drivers/driver/mtd/common/include
${FS_PATH}/yaffs2/yaffs/include
${FS_PATH}/yaffs2/yaffs/direct/include
)
set(PRIVATE_DEFINES
_GNU_SOURCE
)
set(PUBLIC_DEFINES
CONFIG_FS_VFS
CONFIG_FS_FAT_CACHE
)
aux_source_directory(${FS_PATH}/yaffs2/os_adapt/adapt_freertos PUBLIC_HEADER)
# use this when you want to add ccflags like -include xxx
set(COMPONENT_PUBLIC_CCFLAGS
)
set(COMPONENT_CCFLAGS
-Wno-typedef-redefinition
-Wno-unused-parameter
-Wno-incompatible-pointer-types
-Wno-implicit-function-declaration
-Wno-unused-function
-Wno-int-conversion
-Wno-sign-compare
)
set(WHOLE_LINK
true
)
set(MAIN_COMPONENT
false
)
build_component()
set(COMPONENT_NAME "x_vfs_private")
# src list
set(SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/bcache/src/bcache.c
${CMAKE_CURRENT_SOURCE_DIR}/bcache/compat/rbtree.c
${CMAKE_CURRENT_SOURCE_DIR}/multi_partition/src/mtd_partition.c
)
add_definitions(-DCONFIG_NFILE_DESCRIPTORS=128)
set(PRIVATE_HEADER
${FS_PATH}/include
)
set(PUBLIC_HEADER
${CMAKE_CURRENT_SOURCE_DIR}/include
${FS_PATH}/include
${FS_PATH}/vfs/include/bcache
${ROOT_DIR}/kernel/dpal/include
${ROOT_DIR}/kernel/dpal/device/include
${ROOT_DIR}/kernel/osal/include
${CMAKE_CURRENT_SOURCE_DIR}/include/multi_partition
${ROOT_DIR}/drivers/drivers/driver/mtd/common/include
${FS_PATH}/yaffs2/yaffs/include
${FS_PATH}/yaffs2/yaffs/direct/include
)
if(${OS} STREQUAL "freertos")
LIST(APPEND PRIVATE_HEADER
${FS_PATH}/include/adapt_freertos
)
endif()
set(PRIVATE_DEFINES
_GNU_SOURCE
)
set(PUBLIC_DEFINES
CONFIG_FS_VFS
CONFIG_FS_FAT_CACHE
)
# use this when you want to add ccflags like -include xxx
set(COMPONENT_PUBLIC_CCFLAGS
)
set(COMPONENT_CCFLAGS
-Wno-typedef-redefinition
-Wno-unused-parameter
-Wno-incompatible-pointer-types
-Wno-implicit-function-declaration
-Wno-unused-function
-Wno-int-conversion
-Wno-sign-compare
)
set(WHOLE_LINK
true
)
set(MAIN_COMPONENT
false
)
build_component()