aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xutil/travis/before_install.sh4
-rw-r--r--util/travis/common.sh8
-rwxr-xr-xutil/travis/script.sh3
3 files changed, 15 insertions, 0 deletions
diff --git a/util/travis/before_install.sh b/util/travis/before_install.sh
index d25614edb..891371984 100755
--- a/util/travis/before_install.sh
+++ b/util/travis/before_install.sh
@@ -1,4 +1,8 @@
#!/bin/bash -e
+echo "Preparing for $TRAVIS_COMMIT_RANGE"
+. util/travis/common.sh
+
+needs_compile || exit 0
if [[ $TRAVIS_OS_NAME == "linux" ]]; then
sudo apt-get update
diff --git a/util/travis/common.sh b/util/travis/common.sh
new file mode 100644
index 000000000..16c7db324
--- /dev/null
+++ b/util/travis/common.sh
@@ -0,0 +1,8 @@
+#!/bin/bash -e
+
+# Relative to git-repository root:
+TRIGGER_COMPILE_PATHS="src/|CMakeLists.txt|cmake/Modules/|util/travis/|util/buildbot/"
+
+needs_compile() {
+ git diff --name-only $TRAVIS_COMMIT_RANGE | egrep -q "^($TRIGGER_COMPILE_PATHS)"
+}
diff --git a/util/travis/script.sh b/util/travis/script.sh
index 4f37d8f5a..1bafb26cd 100755
--- a/util/travis/script.sh
+++ b/util/travis/script.sh
@@ -1,4 +1,7 @@
#!/bin/bash -e
+. util/travis/common.sh
+
+needs_compile || exit 0
if [[ $PLATFORM == "Unix" ]]; then
mkdir -p travisbuild