CLBlast/.appveyor.yml

65 lines
2.0 KiB
YAML

environment:
global:
CLBLAST_BUILD: "C:\\clblast\\build"
OPENCL_ROOT: "C:\\dependencies\\opencl"
platform:
- x64
configuration:
- Release
init:
- cmake --version
- C:\"Program Files (x86)"\"Microsoft Visual Studio 14.0"\VC\vcvarsall.bat %PLATFORM%
# Creates an OpenCL library to link against. Taken from clMathLibraries/clBLAS
install:
- ps: mkdir $env:OPENCL_ROOT
- ps: pushd $env:OPENCL_ROOT
# This downloads the source to the Khronos ICD library
- git clone https://github.com/KhronosGroup/OpenCL-ICD-Loader.git
- ps: pushd OpenCL-ICD-Loader
- git checkout cb4acb9 # older version (pre 2.2 support)
- ps: popd
- ps: mv ./OpenCL-ICD-Loader/* .
# This downloads all the opencl header files
# The cmake build files expect a directory called inc
- ps: mkdir inc/CL
- git clone https://github.com/KhronosGroup/OpenCL-Headers.git inc/CL
- ps: wget https://raw.githubusercontent.com/KhronosGroup/OpenCL-CLHPP/main/include/CL/opencl.hpp -OutFile inc/CL/cl.hpp
# Switch to OpenCL 2.1 headers
- ps: pushd inc/CL
- git checkout bf0f43b # OpenCL 2.1
- ps: popd
# - ps: dir; if( $lastexitcode -eq 0 ){ dir include/CL } else { Write-Output boom }
# Create the static import lib in a directory called lib, so findopencl() will find it
- ps: mkdir lib
- ps: pushd lib
- cmake -G "NMake Makefiles" ..
- nmake
- ps: popd
# Rename the inc directory to include, so FindOpencl() will find it
- ps: ren inc include
- ps: popd
before_build:
- ps: mkdir $env:CLBLAST_BUILD
- ps: pushd $env:CLBLAST_BUILD
- ps: mkdir install_dir
- cmake -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX=install_dir -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DTESTS=ON -DCLIENTS=ON -DSAMPLES=ON -DNETLIB=ON %APPVEYOR_BUILD_FOLDER%
build_script:
- nmake
- nmake install
after_build:
- ps: pushd $env:CLBLAST_BUILD
- 7z a CLBlast-1.6.2-Windows-x64.zip .\install_dir\*
- ps: mv CLBlast-1.6.2-Windows-x64.zip $env:APPVEYOR_BUILD_FOLDER
artifacts:
- path: '*.zip'
name: release
type: zip