# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#


sudo: required
language: cpp
compiler: gcc
dist: trusty

before_install:
 - sudo apt-get -qq update
 - sudo apt-get install -qq -y libopenblas-dev libprotobuf-dev protobuf-compiler
 - sudo apt-get install -qq -y opencl-headers ocl-icd-*
#- wget https://github.com/KhronosGroup/OpenCL-CLHPP/releases/download/v2.0.9/cl2.hpp
#- sudo mv cl2.hpp /usr/include/CL/
#- sudo apt-get install -qq libgtest-dev

before_script:
 - mkdir build && cd build
 - cmake .. -DUSE_CUDA=OFF -DUSE_CUDNN=OFF -DUSE_PYTHON=OFF

script:
 - make
 - ./bin/test_singa --gtest_output=xml:./../gtest.xml

