# 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
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/
