Add Travis Ci config
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..2fa5bb9
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,38 @@
+language: cpp
+sudo: false
+
+os:
+- linux
+
+addons:
+  apt:
+    packages:
+      - clang-4.0
+      - g++-4.9
+      - gcc-4.9
+      - ninja-build
+      - protobuf-compiler
+    sources:
+      - sourceline: 'deb http://apt.llvm.org/precise/ llvm-toolchain-precise main'
+        key_url: 'http://apt.llvm.org/llvm-snapshot.gpg.key'
+      - ubuntu-toolchain-r-test
+
+env: 
+  matrix:
+    - BUILD_TYPE=Release CC_COMPILER=clang-4.0 CXX_COMPILER=clang++-4.0
+    - BUILD_TYPE=Debug CC_COMPILER=clang-4.0 CXX_COMPILER=clang++-4.0
+    - BUILD_TYPE=Release CC_COMPILER=gcc-6 CXX_COMPILER=g++-4.9
+    - BUILD_TYPE=Debug CC_COMPILER=gcc-6 CXX_COMPILER=g++-4.9
+
+install:
+  - mkdir -p deps && cd deps
+  - travis_retry wget --no-check-certificate --quiet -O - https://cmake.org/files/v3.7/cmake-3.7.1-Linux-x86_64.tar.gz | tar --strip-components=1 -xz
+  - export PATH=${TRAVIS_BUILD_DIR}/deps/bin:${PATH}
+  - cd -
+
+before_script:
+  - mkdir -p build && cd build && pwd
+  - cmake .. -GNinja -DCMAKE_C_COMPILER=${CC_COMPILER} -DCMAKE_CXX_COMPILER=${CXX_COMPILER} -DCMAKE_BUILD_TYPE=${BUILD_TYPE}
+
+script:
+  - ninja && ctest -V -j8