# ================================
# 构建系统和编译产物
# ================================
# CMake 构建目录
*/build/
CMakeCache.txt
CMakeFiles/
cmake_install.cmake
Makefile
*.cmake
CMakeOutput.log
CMakeRuleHashes.txt
cmake.check_cache
CMakeDirectoryInformation.cmake
CMakeScratch/
CMakeScripts/
*.cmake.*
pkgRedirects/
progress.marks
TargetDirectories.txt

# 编译产物
*.o
*.o.d
*.obj
*.exe
*.out
*.app

# 协议缓冲区生成的文件
proto/generated/

# ODB 生成的数据库文件
*-odb.cxx
*-odb.hxx
*-odb.ixx
*.sql

# ================================
# 可执行文件和二进制文件
# ================================
# 服务端可执行文件
*/file_server
*/file_client
*/friend_server
*/friend_client
*/gateway_server
*/message_server
*/speech_server
*/speech_client
*/transmite_server
*/transmite_client
*/trans_user_client
*/user_server
*/user_client

# 测试可执行文件
*/test/*/main
*/test/mysql_test/main
*/test/es_test/main
*/test/redis_test/main

# 其他二进制文件
*/nc
*/make_file_download
*/base_download_file1
*/file_download_file2

# ================================
# 运行时数据和日志
# ================================
# 中间件数据
middle/data/
middle/elasticsearch/
middle/etcd/
middle/logs/
middle/mysql/
middle/rabbitmq/
middle/redis/

# 文件服务数据
file/build/data/

# 语音服务数据
speech/build/16k.pcm
speech/test/16k.pcm

# 日志文件
*.log
*.log.*
log/
logs/

# ================================
# 依赖库文件
# ================================
# 本地依赖库
*/depends/
*.so
*.so.*
*.dylib
*.dll

# ================================
# 临时文件和缓存
# ================================
*.tmp
*.temp
.tmp/
.cache/
*.swp
*.swo
*~

# CMake 临时文件
*/CMakeFiles/*/CompilerIdC/a.out
*/CMakeFiles/*/CompilerIdCXX/a.out
*/CMakeFiles/*/CompilerIdC/tmp/
*/CMakeFiles/*/CompilerIdCXX/tmp/

# ================================
# 系统文件
# ================================
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
Desktop.ini

# ================================
# IDE 和编辑器文件
# ================================
# VS Code
.vscode/
*.code-workspace

# Vim
*.swp
*.swo
*~

# ================================
# 协议缓冲区源文件（保留 .proto，忽略生成的 .pb.*）
# ================================
# 注意：保留 .proto 文件，但忽略生成的文件
*.pb.cc
*.pb.h

# ================================
# 项目特定文件
# ================================
# 树状结构输出文件
tree.txt

# 下载的文件
base_download_file1
file_download_file2

# 测试目录中的构建文件
*/test/*/Makefile
*/test/*/*.o
*/test/*/*.o.d

# ================================
# Docker 相关（可选）
# ================================
# 如果您使用 Docker，可以取消注释以下行
# .dockerignore
# !.dockerignore
# docker-compose.override.yml