if(ESP_PLATFORM)
    if(NOT CMAKE_BUILD_EARLY_EXPANSION)
      set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DHAVE_CONFIG_H")
    endif()
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DNEED_READV -DNEED_WRITEV -DNEED_GETLOGIN_R -DNEED_RANDOM -DNEED_SRANDOM")
    set(PROJECT_VERSION 6.1.0)
    
    # 收集所有源文件
    file(GLOB_RECURSE LIBSMB2_SOURCES 
         "lib/*.c"
    )
    
    # 排除平台特定的文件，这些文件不适用于ESP32
    list(FILTER LIBSMB2_SOURCES EXCLUDE REGEX ".*/ps2/.*")
    list(FILTER LIBSMB2_SOURCES EXCLUDE REGEX ".*/nintendo.*")
    list(FILTER LIBSMB2_SOURCES EXCLUDE REGEX ".*/pico.*")
    list(FILTER LIBSMB2_SOURCES EXCLUDE REGEX ".*/vita.*")
    list(FILTER LIBSMB2_SOURCES EXCLUDE REGEX ".*/dreamcast.*")
    
    # 只注册一次组件
    idf_component_register(
        SRCS ${LIBSMB2_SOURCES}
        INCLUDE_DIRS "include" "include/smb2" "include/esp" "lib"
        REQUIRES lwip
    )
    
    # 设置编译定义
    target_compile_definitions(${COMPONENT_LIB} PRIVATE 
        _U_=__attribute__\(\(unused\)\)
        ESP_PLATFORM=1
        HAVE_CONFIG_H=1
    )
    
    # 确保只在ESP平台执行这些配置
    return()
    
endif()

# 以下是原有的非ESP平台代码（如果存在的话）
# ... 其他平台的构建配置