summaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 351836de8a944c6a0d740a6c21456cc5107fc4c6 (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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
language: cpp
sudo: required
dist: trusty

compiler:
  - gcc
  - clang

addons:
  apt:
    sources:
      # kubuntu-backports contains newer versions of cmake to install
      - kubuntu-backports
    packages:
      - cmake

env:
  global:
    - CLBLAST_ROOT=${TRAVIS_BUILD_DIR}/bin/make/release
    - OPENCL_REGISTRY=https://www.khronos.org/registry/cl
    - OPENCL_ROOT=${TRAVIS_BUILD_DIR}/bin/opencl

before_install:
  - cmake --version;
  - ${CC} --version;
  - ${CXX} --version;

install:
  # The following linux logic is necessary because of Travis's move to the GCE platform, which does not
  # currently contain packages for fglrx: https://github.com/travis-ci/travis-ci/issues/5221
  # We build our own linkable .so file
  - if [ ${TRAVIS_OS_NAME} == "linux" ]; then
      mkdir -p ${OPENCL_ROOT};
      pushd ${OPENCL_ROOT};
      travis_retry git clone --depth 1 https://github.com/KhronosGroup/OpenCL-ICD-Loader.git;
      mv ./OpenCL-ICD-Loader/* .;
      travis_retry git clone --depth 1 https://github.com/KhronosGroup/OpenCL-Headers.git inc/CL;
      pushd inc/CL;
      travis_retry wget -w 1 -np -nd -nv -A h,hpp ${OPENCL_REGISTRY}/api/2.1/cl.hpp;
      popd;
      mkdir -p lib;
      pushd lib;
      cmake -G "Unix Makefiles" ..;
      make;
      cp ./bin/libOpenCL.so .;
      popd;
      pushd inc/CL;
      travis_retry git fetch origin opencl12:opencl12;
      git checkout opencl12;
      popd;
      mv inc/ include/;
      popd;
    fi

before_script:
  - mkdir -p ${CLBLAST_ROOT}
  - pushd ${CLBLAST_ROOT}
  - cmake -DOPENCL_ROOT=${OPENCL_ROOT} ${TRAVIS_BUILD_DIR}

script:
  - make

branches:
  only:
    - master
    - development

notifications:
  email: false