# Compiled Object files
*.slo
*.lo
*.o
*.obj
*.os
*.scons*

# Compiled Dynamic libraries
*.so
lib*.so*
*.dylib
*.dll
*.so.1

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app

# Dependency file
*.d

# Mac swap file
*.DS_Store

# Linux swap file
*.swp

# Exclude compiled executables
/examples/SampleProducer
/examples/SampleProducerCApi
/examples/SampleConsumer
/examples/SampleConsumerCApi
/examples/SampleAsyncProducer
/examples/SampleConsumerListener
/examples/SampleConsumerListenerCApi
/examples/SampleReaderCApi
/tests/main
/perf/perfProducer
/perf/perfConsumer
/system-test/SystemTest

# Files generated from templates by CMAKE
include/pulsar/Version.h

# IDE generated files
.csettings
.cproject
.project
.settings/
.pydevproject
.idea/
.vs/
*.cbp
*.ninja*
.clangd/
compile_commands.json

# doxygen files
apidocs/

# generated files
generated/

# CMAKE
.cmake
Makefile
cmake_install.cmake
CMakeFiles
CMakeCache.txt

pulsar-dist
install_manifest.txt
merged-library
python/venv

# Visual Studio files
out/
CMakeSettings.json

# vcpkg dependencies directory
vcpkg_installed/
