Davide Pesavento | 4a315b3 | 2018-11-24 14:32:19 -0500 | [diff] [blame] | 1 | #!/usr/bin/env bash |
Davide Pesavento | fee7ee3 | 2020-04-15 02:45:07 -0400 | [diff] [blame] | 2 | set -ex |
Davide Pesavento | 4a315b3 | 2018-11-24 14:32:19 -0500 | [diff] [blame] | 3 | |
Davide Pesavento | fee7ee3 | 2020-04-15 02:45:07 -0400 | [diff] [blame] | 4 | git submodule sync |
| 5 | git submodule update --init |
Davide Pesavento | 4a315b3 | 2018-11-24 14:32:19 -0500 | [diff] [blame] | 6 | |
Davide Pesavento | fee7ee3 | 2020-04-15 02:45:07 -0400 | [diff] [blame] | 7 | if [[ -z $DISABLE_ASAN ]]; then |
Davide Pesavento | 4a315b3 | 2018-11-24 14:32:19 -0500 | [diff] [blame] | 8 | ASAN="--with-sanitizer=address" |
| 9 | fi |
Davide Pesavento | fee7ee3 | 2020-04-15 02:45:07 -0400 | [diff] [blame] | 10 | if [[ $JOB_NAME == *"code-coverage" ]]; then |
| 11 | COVERAGE="--with-coverage" |
Davide Pesavento | 4a315b3 | 2018-11-24 14:32:19 -0500 | [diff] [blame] | 12 | fi |
| 13 | |
Davide Pesavento | fee7ee3 | 2020-04-15 02:45:07 -0400 | [diff] [blame] | 14 | if [[ $JOB_NAME != *"code-coverage" && $JOB_NAME != *"limited-build" ]]; then |
| 15 | # Build in release mode with tests |
| 16 | ./waf --color=yes configure --with-tests |
| 17 | ./waf --color=yes build -j$WAF_JOBS |
Davide Pesavento | 4a315b3 | 2018-11-24 14:32:19 -0500 | [diff] [blame] | 18 | |
Davide Pesavento | fee7ee3 | 2020-04-15 02:45:07 -0400 | [diff] [blame] | 19 | # Cleanup |
| 20 | ./waf --color=yes distclean |
| 21 | |
| 22 | # Build in release mode without tests |
| 23 | ./waf --color=yes configure |
| 24 | ./waf --color=yes build -j$WAF_JOBS |
| 25 | |
| 26 | # Cleanup |
| 27 | ./waf --color=yes distclean |
| 28 | fi |
| 29 | |
| 30 | # Build in debug mode with tests |
| 31 | ./waf --color=yes configure --debug --with-tests $ASAN $COVERAGE |
| 32 | ./waf --color=yes build -j$WAF_JOBS |
| 33 | |
| 34 | # (tests will be run against the debug version) |
Davide Pesavento | 4a315b3 | 2018-11-24 14:32:19 -0500 | [diff] [blame] | 35 | |
| 36 | # Install |
| 37 | sudo_preserve_env PATH -- ./waf --color=yes install |