| language: c |
| dist: xenial |
| sudo: required |
| |
| matrix: |
| include: |
| - name: Linux (gcc) |
| os: linux |
| dist: focal |
| compiler: gcc |
| before_install: &bs_linux |
| - sudo apt-get install faketime libscope-guard-perl libtest-tcp-perl |
| - name: Linux (clang) |
| os: linux |
| dist: focal |
| compiler: clang |
| before_install: *bs_linux |
| - name: Linux (OpenSSL 1.1.0) |
| os: linux |
| before_install: |
| - sudo apt-get install faketime libscope-guard-perl libtest-tcp-perl |
| - curl https://www.openssl.org/source/old/1.1.0/openssl-1.1.0l.tar.gz | tar xzf - |
| - cd openssl-1.1.0l |
| - ./config --prefix=/usr/local/openssl-1.1.0 |
| - make |
| - sudo make install |
| - cd .. |
| env: |
| - PKG_CONFIG_PATH=/usr/local/openssl-1.1.0/lib/pkgconfig |
| - name: Linux (OpenSSL 1.0.2) |
| os: linux |
| before_install: |
| - sudo apt-get install faketime libscope-guard-perl libtest-tcp-perl |
| - curl https://www.openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz | tar xzf - |
| - cd openssl-1.0.2u |
| - ./config --prefix=/usr/local/openssl-1.0.2 |
| - make |
| - sudo make install |
| - cd .. |
| env: |
| - PKG_CONFIG_PATH=/usr/local/openssl-1.0.2/lib/pkgconfig |
| - name: Linux (libressl 3.2) |
| os: linux |
| before_install: |
| - sudo apt-get install faketime libscope-guard-perl libtest-tcp-perl |
| - curl https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.2.5.tar.gz | tar xzf - |
| - cd libressl-3.2.5 |
| - ./configure --prefix=/usr/local/libressl-3.2 |
| - make |
| - sudo make install |
| - cd .. |
| env: |
| - PKG_CONFIG_PATH=/usr/local/libressl-3.2/lib/pkgconfig |
| - name: macOS (Xcode) |
| os: osx |
| addons: &addons_macos |
| homebrew: |
| packages: |
| - libfaketime |
| - openssl |
| env: |
| - CMAKE_OPTS=" -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl/" |
| before_install: &bs_macos |
| - curl -L https://cpanmin.us | sudo perl - App::cpanminus |
| - sudo cpanm --notest Scope::Guard |
| - sudo cpanm --notest Test::TCP |
| |
| script: |
| - cmake ${CMAKE_OPTS} . |
| - make all |
| - make check |