.gitignore + disable in-source builds (#98)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e492566
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,81 @@
+# Autogenerated files due to apparent VS2017 bug:
+# https://gitlab.kitware.com/cmake/cmake/issues/16458
+*.dir
+x86
+x64
+
+# Modified from https://www.gitignore.io/api/vim,macos,linux,emacs,cmake,windows,sublimetext,visualstudio,visualstudiocode
+
+### CMake ###
+# These files are generated if an in-source build is attempted, even though
+# it's disallowed.
+CMakeCache.txt
+CMakeFiles
+
+### Emacs ###
+*~
+\#*\#
+/.emacs.desktop
+/.emacs.desktop.lock
+*.elc
+auto-save-list
+tramp
+.\#*
+
+### Linux ###
+.fuse_hidden*
+.directory
+.Trash-*
+.nfs*
+
+### macOS ###
+*.DS_Store
+.AppleDouble
+.LSOverride
+# Icon must end with two \r
+Icon
+._*
+.DocumentRevisions-V100
+.fseventsd
+.Spotlight-V100
+.TemporaryItems
+.Trashes
+.VolumeIcon.icns
+.com.apple.timemachine.donotpresent
+.AppleDB
+.AppleDesktop
+Network Trash Folder
+Temporary Items
+.apdisk
+
+### SublimeText ###
+*.tmlanguage.cache
+*.tmPreferences.cache
+*.stTheme.cache
+*.sublime-workspace
+*.sublime-project
+sftp-config.json
+GitHub.sublime-settings
+
+### Vim ###
+[._]*.s[a-v][a-z]
+[._]*.sw[a-p]
+[._]s[a-v][a-z]
+[._]sw[a-p]
+Session.vim
+.netrwhist
+tags
+
+### VisualStudioCode ###
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+
+### Windows ###
+Thumbs.db
+ehthumbs.db
+ehthumbs_vista.db
+Desktop.ini
+$RECYCLE.BIN/