Bläddra i källkod

Implement OSX Travis builds

Pavel Puchkin 8 år sedan
förälder
incheckning
c4e0d95c87
3 ändrade filer med 37 tillägg och 18 borttagningar
  1. 10 1
      .travis.yml
  2. 23 16
      util/travis/before_install.sh
  3. 4 1
      util/travis/script.sh

+ 10 - 1
.travis.yml

@@ -2,10 +2,13 @@ language: cpp
 compiler:
   - gcc
   - clang
+os:
+  - osx
+  - linux
 env:
   - PLATFORM=Win32
   - PLATFORM=Win64
-  - PLATFORM=Linux
+  - PLATFORM=Unix
 before_install: ./util/travis/before_install.sh
 script: ./util/travis/script.sh
 sudo: required
@@ -18,3 +21,9 @@ matrix:
       compiler: clang
     - env: PLATFORM=Win64
       compiler: clang
+    - env: PLATFORM=Win32
+      os: osx
+    - env: PLATFORM=Win64
+      os: osx
+    - compiler: gcc
+      os: osx

+ 23 - 16
util/travis/before_install.sh

@@ -1,22 +1,30 @@
 #!/bin/bash -e
 
-if [[ $CC == "clang" ]]; then
-	export PATH="/usr/bin/:$PATH"
-	sudo sh -c 'echo "deb http://ppa.launchpad.net/eudoxos/llvm-3.1/ubuntu precise main" >> /etc/apt/sources.list'
-	sudo apt-key adv --keyserver pool.sks-keyservers.net --recv-keys 92DE8183
+if [[ $TRAVIS_OS_NAME == "linux" ]]; then
+	if [[ $CC == "clang" ]]; then
+		export PATH="/usr/bin/:$PATH"
+		sudo sh -c 'echo "deb http://ppa.launchpad.net/eudoxos/llvm-3.1/ubuntu precise main" >> /etc/apt/sources.list'
+		sudo apt-key adv --keyserver pool.sks-keyservers.net --recv-keys 92DE8183
+		sudo apt-get update
+		sudo apt-get install llvm-3.1
+		sudo apt-get install clang
+	fi
 	sudo apt-get update
-	sudo apt-get install llvm-3.1
-	sudo apt-get install clang
+	sudo apt-get install p7zip-full
 fi
-sudo apt-get update
-sudo apt-get install p7zip-full
-if [[ $PLATFORM == "Linux" ]]; then
-	sudo apt-get install libirrlicht-dev cmake libbz2-dev libpng12-dev \
-		libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev \
-		libhiredis-dev libogg-dev libgmp-dev libvorbis-dev libopenal-dev gettext
-	# Linking to LevelDB is broken, use a custom build
-	wget http://minetest.kitsunemimi.pw/libleveldb-1.18-ubuntu12.04.7z
-	sudo 7z x -o/usr libleveldb-1.18-ubuntu12.04.7z
+
+if [[ $PLATFORM == "Unix" ]]; then
+	if [[ $TRAVIS_OS_NAME == "linux" ]]; then
+		sudo apt-get install libirrlicht-dev cmake libbz2-dev libpng12-dev \
+			libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev \
+			libhiredis-dev libogg-dev libgmp-dev libvorbis-dev libopenal-dev gettext
+		# Linking to LevelDB is broken, use a custom build
+		wget http://minetest.kitsunemimi.pw/libleveldb-1.18-ubuntu12.04.7z
+		sudo 7z x -o/usr libleveldb-1.18-ubuntu12.04.7z
+	else
+		brew update
+		brew install freetype gettext hiredis irrlicht jpeg leveldb libogg libvorbis luajit
+	fi
 elif [[ $PLATFORM == "Win32" ]]; then
 	wget http://minetest.kitsunemimi.pw/mingw_w64_i686_ubuntu12.04_4.9.1.7z -O mingw.7z
 	sed -e "s|%PREFIX%|i686-w64-mingw32|" \
@@ -30,4 +38,3 @@ elif [[ $PLATFORM == "Win64" ]]; then
 		< util/travis/toolchain_mingw.cmake.in > util/buildbot/toolchain_mingw64.cmake
 	sudo 7z x -y -o/usr mingw.7z
 fi
-

+ 4 - 1
util/travis/script.sh

@@ -1,6 +1,6 @@
 #!/bin/bash -e
 
-if [[ $PLATFORM == "Linux" ]]; then
+if [[ $PLATFORM == "Unix" ]]; then
 	mkdir -p travisbuild
 	cd travisbuild
 	CMAKE_FLAGS='-DCMAKE_BUILD_TYPE=Debug \
@@ -10,6 +10,9 @@ if [[ $PLATFORM == "Linux" ]]; then
 	if [[ $CC == "clang" ]]; then
 		CMAKE_FLAGS+=' -DENABLE_FREETYPE=FALSE'
 	fi
+	if [[ $TRAVIS_OS_NAME == "osx" ]]; then
+		CMAKE_FLAGS+=' -DCUSTOM_GETTEXT_PATH=/usr/local/opt/gettext'
+	fi
 	cmake $CMAKE_FLAGS ..
 	make -j2
 	echo "Running unit tests."