summaryrefslogtreecommitdiff
path: root/.travis/cmake-osx
blob: cb12301d4fd7aaca918134b3cf19741e2c00d59a (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
45
46
47
48
49
#!/bin/sh

ACTION="$1"

set -eu

CACHEDIR="$HOME/cache"
NPROC=`sysctl -n hw.physicalcpu`

travis_install() {
  # Workaround for bug in Homebrew where it only finds an old Ruby version.
  brew update

  brew install libsodium libvpx opus libconfig
}

travis_script() {
  . ".travis/flags-$CC.sh"

  add_ld_flag -undefined error

  # Make compilation error on a warning
  add_flag -Werror

  cmake -B_build -H. \
    -DCMAKE_C_FLAGS="$C_FLAGS" \
    -DCMAKE_CXX_FLAGS="$CXX_FLAGS" \
    -DCMAKE_EXE_LINKER_FLAGS="$LD_FLAGS" \
    -DCMAKE_SHARED_LINKER_FLAGS="$LD_FLAGS" \
    -DCMAKE_INSTALL_PREFIX:PATH="$PWD/_install" \
    -DMIN_LOGGER_LEVEL=TRACE \
    -DMUST_BUILD_TOXAV=ON \
    -DNON_HERMETIC_TESTS=ON \
    -DTEST_TIMEOUT_SECONDS=120 \
    -DUSE_IPV6=OFF \
    -DAUTOTEST=ON

  cd _build  # pushd
  make "-j$NPROC" -k install
  make "-j$NPROC" test ARGS="-j50" || \
    make "-j$NPROC" test ARGS="-j50 --rerun-failed" CTEST_OUTPUT_ON_FAILURE=1
  cd -  # popd
}

if [ "-z" "$ACTION" ]; then
  "travis_script"
else
  "travis_$ACTION"
fi