diff --git a/.travis-build.sh b/.travis-build.sh
new file mode 100644
index 0000000000..35a908bfb9
--- /dev/null
+++ b/.travis-build.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+#if OS is linux or is not set
+if [ "$TRAVIS_OS_NAME" = linux -o -z "$TRAVIS_OS_NAME" ]; then 
+    mkdir build && cd build
+    cmake .. 
+    make -j4
+elif [ "$TRAVIS_OS_NAME" = osx ]; then
+    mkdir build && cd build
+    cmake .. -GXcode
+    xcodebuild
+fi
diff --git a/.travis-deps.sh b/.travis-deps.sh
new file mode 100644
index 0000000000..326ba2d090
--- /dev/null
+++ b/.travis-deps.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+set -e
+
+#if OS is linux or is not set
+if [ "$TRAVIS_OS_NAME" = linux -o -z "$TRAVIS_OS_NAME" ]; then
+    sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
+    sudo apt-get -qq update
+    sudo apt-get -qq install g++-4.8 xorg-dev libglu1-mesa-dev libglew-dev libxcursor-dev
+    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 90
+    git clone https://github.com/glfw/glfw.git
+    mkdir glfw/build && cd glfw/build
+    cmake .. && make && sudo make install 
+    cd -	
+elif [ "$TRAVIS_OS_NAME" = osx ]; then
+    brew tap homebrew/versions
+    brew install glew qt glfw3 pkgconfig
+fi
diff --git a/.travis.yml b/.travis.yml
index 8bad122b26..1cb369d5b3 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,14 +1,11 @@
+os:
+  - linux
+  - osx
+
 language: cpp
-compiler:
- - gcc
+
 before_install:
- - sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
- - sudo apt-get -qq update
- - sudo apt-get -qq install g++-4.8 xorg-dev libglu1-mesa-dev libglew-dev libxcursor-dev
- - sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 90
- - git clone https://github.com/glfw/glfw.git
- - "mkdir glfw/build && cd glfw/build && cmake .. && make && sudo make install ; cd -"
+ - sh .travis-deps.sh
+
 script:
- - mkdir build && cd build
- - cmake ..
- - make -j4
\ No newline at end of file
+ - sh .travis-build.sh