aboutsummaryrefslogtreecommitdiff
path: root/util/travis/common.sh
blob: a5b2de7282a014982a601e63d7b358aa23fa59a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/bash -e

set_linux_compiler_env() {
	if [[ "${COMPILER}" == "gcc-5.1" ]]; then
		export CC=gcc-5.1
		export CXX=g++-5.1
	elif [[ "${COMPILER}" == "gcc-6" ]]; then
		export CC=gcc-6
		export CXX=g++-6
	elif [[ "${COMPILER}" == "gcc-7" ]]; then
		export CC=gcc-7
		export CXX=g++-7
	elif [[ "${COMPILER}" == "clang-3.6" ]]; then
		export CC=clang-3.6
		export CXX=clang++-3.6
	elif [[ "${COMPILER}" == "clang-4.0" ]]; then
		export CC=clang-4.0
		export CXX=clang++-4.0
	fi
}

# Linux build only
install_linux_deps() {
	sudo apt-get update
	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 libpq-dev libleveldb-dev
}

# Mac OSX build only
install_macosx_deps() {
	brew update
	brew install freetype gettext hiredis irrlicht jpeg leveldb libogg libvorbis luajit
	#brew upgrade postgresql
}

# Relative to git-repository root:
TRIGGER_COMPILE_PATHS="src/.*\.(c|cpp|h)|CMakeLists.txt|cmake/Modules/|util/travis/|util/buildbot/"

needs_compile() {
	git diff --name-only $TRAVIS_COMMIT_RANGE | egrep -q "^($TRIGGER_COMPILE_PATHS)"
}

s="hl opt">::string &s) throw(): m_s(s) {} ~BaseException() throw() = default; virtual const char * what() const throw() { return m_s.c_str(); } protected: std::string m_s; }; class AlreadyExistsException : public BaseException { public: AlreadyExistsException(const std::string &s): BaseException(s) {} }; class VersionMismatchException : public BaseException { public: VersionMismatchException(const std::string &s): BaseException(s) {} }; class FileNotGoodException : public BaseException { public: FileNotGoodException(const std::string &s): BaseException(s) {} }; class DatabaseException : public BaseException { public: DatabaseException(const std::string &s): BaseException(s) {} }; class SerializationError : public BaseException { public: SerializationError(const std::string &s): BaseException(s) {} }; class PacketError : public BaseException { public: PacketError(const std::string &s): BaseException(s) {} }; class SettingNotFoundException : public BaseException { public: SettingNotFoundException(const std::string &s): BaseException(s) {} }; class InvalidFilenameException : public BaseException { public: InvalidFilenameException(const std::string &s): BaseException(s) {} }; class ItemNotFoundException : public BaseException { public: ItemNotFoundException(const std::string &s): BaseException(s) {} }; class ServerError : public BaseException { public: ServerError(const std::string &s): BaseException(s) {} }; class ClientStateError : public BaseException { public: ClientStateError(const std::string &s): BaseException(s) {} }; class PrngException : public BaseException { public: PrngException(const std::string &s): BaseException(s) {} }; class ModError : public BaseException { public: ModError(const std::string &s): BaseException(s) {} }; /* Some "old-style" interrupts: */ class InvalidNoiseParamsException : public BaseException { public: InvalidNoiseParamsException(): BaseException("One or more noise parameters were invalid or require " "too much memory") {} InvalidNoiseParamsException(const std::string &s): BaseException(s) {} }; class InvalidPositionException : public BaseException { public: InvalidPositionException(): BaseException("Somebody tried to get/set something in a nonexistent position.") {} InvalidPositionException(const std::string &s): BaseException(s) {} };