Alexander Afanasyev | 4d4e725 | 2014-10-25 12:21:53 -0700 | [diff] [blame] | 1 | #!/usr/bin/env bash |
Davide Pesavento | 72517b5 | 2022-08-13 18:50:55 -0400 | [diff] [blame] | 2 | set -eo pipefail |
Alexander Afanasyev | 4d4e725 | 2014-10-25 12:21:53 -0700 | [diff] [blame] | 3 | |
Davide Pesavento | 69857c3 | 2020-04-05 16:36:26 -0400 | [diff] [blame] | 4 | if [[ -z $DISABLE_ASAN ]]; then |
Davide Pesavento | 167040a | 2018-01-10 02:41:50 -0500 | [diff] [blame] | 5 | ASAN="--with-sanitizer=address" |
| 6 | fi |
Davide Pesavento | 69857c3 | 2020-04-05 16:36:26 -0400 | [diff] [blame] | 7 | if [[ $JOB_NAME == *"code-coverage" ]]; then |
| 8 | COVERAGE="--with-coverage" |
| 9 | fi |
Alexander Afanasyev | 4d4e725 | 2014-10-25 12:21:53 -0700 | [diff] [blame] | 10 | |
Davide Pesavento | 72517b5 | 2022-08-13 18:50:55 -0400 | [diff] [blame] | 11 | set -x |
| 12 | |
Eric Newberry | 81a9a86 | 2016-12-27 22:59:27 -0700 | [diff] [blame] | 13 | if [[ $JOB_NAME != *"code-coverage" && $JOB_NAME != *"limited-build" ]]; then |
Davide Pesavento | 56c68a3 | 2020-03-12 19:26:21 -0400 | [diff] [blame] | 14 | # Build in release mode with tests and without precompiled headers |
| 15 | ./waf --color=yes configure --with-tests --without-pch |
Davide Pesavento | 72517b5 | 2022-08-13 18:50:55 -0400 | [diff] [blame] | 16 | ./waf --color=yes build |
Davide Pesavento | ab1e8f2 | 2014-10-21 22:45:33 +0200 | [diff] [blame] | 17 | |
Davide Pesavento | 56c68a3 | 2020-03-12 19:26:21 -0400 | [diff] [blame] | 18 | # Cleanup |
Davide Pesavento | 69857c3 | 2020-04-05 16:36:26 -0400 | [diff] [blame] | 19 | ./waf --color=yes distclean |
Davide Pesavento | ab1e8f2 | 2014-10-21 22:45:33 +0200 | [diff] [blame] | 20 | |
Davide Pesavento | a1b1519 | 2024-02-09 19:27:34 -0500 | [diff] [blame] | 21 | # Build in release mode with "other tests" only |
| 22 | ./waf --color=yes configure --with-other-tests |
Davide Pesavento | 72517b5 | 2022-08-13 18:50:55 -0400 | [diff] [blame] | 23 | ./waf --color=yes build |
Davide Pesavento | ab1e8f2 | 2014-10-21 22:45:33 +0200 | [diff] [blame] | 24 | |
Davide Pesavento | 56c68a3 | 2020-03-12 19:26:21 -0400 | [diff] [blame] | 25 | # Cleanup |
Davide Pesavento | 69857c3 | 2020-04-05 16:36:26 -0400 | [diff] [blame] | 26 | ./waf --color=yes distclean |
Alexander Afanasyev | 6602b3b | 2016-03-15 14:14:11 -0700 | [diff] [blame] | 27 | fi |
Davide Pesavento | ab1e8f2 | 2014-10-21 22:45:33 +0200 | [diff] [blame] | 28 | |
Davide Pesavento | 56c68a3 | 2020-03-12 19:26:21 -0400 | [diff] [blame] | 29 | # Build in debug mode with tests |
Davide Pesavento | a1b1519 | 2024-02-09 19:27:34 -0500 | [diff] [blame] | 30 | ./waf --color=yes configure --debug --with-tests $ASAN $COVERAGE |
Davide Pesavento | 72517b5 | 2022-08-13 18:50:55 -0400 | [diff] [blame] | 31 | ./waf --color=yes build |
Davide Pesavento | ab1e8f2 | 2014-10-21 22:45:33 +0200 | [diff] [blame] | 32 | |
Davide Pesavento | 56c68a3 | 2020-03-12 19:26:21 -0400 | [diff] [blame] | 33 | # (tests will be run against the debug version) |
Alexander Afanasyev | 4d4e725 | 2014-10-25 12:21:53 -0700 | [diff] [blame] | 34 | |
| 35 | # Install |
Davide Pesavento | 72517b5 | 2022-08-13 18:50:55 -0400 | [diff] [blame] | 36 | sudo ./waf --color=yes install |