build+ci: Synchronize build and CI scripts with ndn-cxx/NFD
This commit also fixes a minor problem causing compilation warnings.
Change-Id: I0c04d58fe9df24f181947b9fde1346283402fc7b
diff --git a/.jenkins.d/20-build.sh b/.jenkins.d/20-build.sh
index d25d947..de9d590 100755
--- a/.jenkins.d/20-build.sh
+++ b/.jenkins.d/20-build.sh
@@ -1,37 +1,47 @@
#!/usr/bin/env bash
-set -x
set -e
JDIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
source "$JDIR"/util.sh
-sudo rm -Rf /usr/local/include/ndn-group-encrypt
-sudo rm -f /usr/local/lib/libndn-group-encrypt*
-sudo rm -f /usr/local/lib/pkgconfig/ndn-group-encrypt*
+set -x
+
+git submodule init
+git submodule sync
+git submodule update
# Cleanup
sudo ./waf -j1 --color=yes distclean
-# Configure/build in release mode
-./waf -j1 --color=yes configure
+if [[ "$JOB_NAME" != *"limited-build" ]]; then
+ # Configure/build in optimized mode with tests
+ ./waf -j1 --color=yes configure --with-tests
+ ./waf -j1 --color=yes build
+
+ # Cleanup
+ sudo ./waf -j1 --color=yes distclean
+
+ # Configure/build in optimized mode without tests
+ ./waf -j1 --color=yes configure
+ ./waf -j1 --color=yes build
+
+ # Cleanup
+ sudo ./waf -j1 --color=yes distclean
+fi
+
+# Configure/build in debug mode with tests and without precompiled headers
+if [[ "$JOB_NAME" == *"code-coverage" ]]; then
+ COVERAGE="--with-coverage"
+elif ! has OSX-10.9 $NODE_LABELS && ! has OSX-10.11 $NODE_LABELS; then
+ ASAN="--with-sanitizer=address"
+fi
+./waf -j1 --color=yes configure --debug --with-tests $COVERAGE $ASAN
./waf -j1 --color=yes build
-# Cleanup
-sudo ./waf -j1 --color=yes distclean
-
-# Configure/build in debug mode
-./waf -j1 --color=yes configure --debug
-./waf -j1 --color=yes build
-
-# Cleanup
-sudo ./waf -j1 --color=yes distclean
-
-# Configure/build in optimized mode with tests
-./waf -j1 --color=yes configure --with-tests
-./waf -j1 --color=yes build
+# (tests will be run against debug version)
# Install
-sudo ./waf install -j1 --color=yes
+sudo ./waf -j1 --color=yes install
if has Linux $NODE_LABELS; then
sudo ldconfig