# C/C++ build outputs
bins
gens
libs
objs

# Python virtual environments
python*_virtual_environment

# gcov coverage data
coverage
*.gcno

# profiler output
*.prof

# python compiled objects
*.pyc

#eclipse project files
.cproject
.project
.settings

# cache for run_tests.py
.run_tests_cache

# emacs temp files
*~

# vim temp files
.*.swp

# Makefile's cache
cache.mk

# Temporary test reports
report.xml

# port server log
portlog.txt

# XCode
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
*.DS_Store

# Objective-C generated files
*.pbobjc.*
*.pbrpc.*

# Cocoapods artifacts
# Podfile.lock and the workspace file are tracked, to ease deleting them. That's
# needed to trigger "pod install" to rerun the preinstall commands.
Pods/
