Add support mkl #660
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI_windows | |
on: [push, pull_request] | |
env: | |
CTEST_TIME_TIMEOUT: "5" # some failures hang forever | |
CMAKE_GENERATOR: Ninja | |
jobs: | |
msys2-build: | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
include: [ | |
{ msystem: MSYS, arch: x86_64 }, | |
{ msystem: MINGW64, arch: x86_64 }, | |
{ msystem: MINGW32, arch: i686 } | |
] | |
defaults: | |
run: | |
shell: msys2 {0} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup MinGW native environment | |
uses: msys2/setup-msys2@v2 | |
if: contains(matrix.msystem, 'MINGW') | |
with: | |
msystem: ${{ matrix.msystem }} | |
update: false | |
install: >- | |
git | |
mingw-w64-${{ matrix.arch }}-gcc | |
mingw-w64-${{ matrix.arch }}-gcc-fortran | |
mingw-w64-${{ matrix.arch }}-python | |
mingw-w64-${{ matrix.arch }}-python-pip | |
mingw-w64-${{ matrix.arch }}-python-setuptools | |
mingw-w64-${{ matrix.arch }}-cmake | |
mingw-w64-${{ matrix.arch }}-ninja | |
- name: Setup msys POSIX environment | |
uses: msys2/setup-msys2@v2 | |
if: contains(matrix.msystem, 'MSYS') | |
with: | |
msystem: MSYS | |
update: false | |
install: >- | |
git | |
mingw-w64-x86_64-gcc | |
mingw-w64-x86_64-gcc-fortran | |
python | |
python-pip | |
cmake | |
ninja | |
- name: Install fypp | |
run: pip install fypp | |
# Build and test with built-in BLAS and LAPACK | |
- run: >- | |
PATH=$PATH:/mingw64/bin/ cmake | |
-Wdev | |
-B build | |
-DCMAKE_BUILD_TYPE=Debug | |
-DCMAKE_Fortran_FLAGS_DEBUG="-Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -fbacktrace" | |
-DCMAKE_MAXIMUM_RANK:String=4 | |
-DCMAKE_INSTALL_PREFIX=$PWD/_dist | |
-DFIND_BLAS:STRING=FALSE | |
env: | |
FC: gfortran | |
CC: gcc | |
CXX: g++ | |
- name: CMake build | |
run: PATH=$PATH:/mingw64/bin/ cmake --build build --parallel | |
- name: catch build fail | |
run: PATH=$PATH:/mingw64/bin/ cmake --build build --verbose --parallel 1 | |
if: failure() | |
- name: CTest | |
run: PATH=$PATH:/mingw64/bin/ ctest --test-dir build --output-on-failure --parallel -V -LE quadruple_precision | |
- uses: actions/upload-artifact@v1 | |
if: failure() | |
with: | |
name: WindowsCMakeTestlog | |
path: build/Testing/Temporary/LastTest.log | |
- name: Install project | |
run: PATH=$PATH:/mingw64/bin/ cmake --install build | |
msys2-build-with-OpenBLAS: | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
include: [ | |
{ msystem: MINGW64, arch: x86_64 } | |
] | |
defaults: | |
run: | |
shell: msys2 {0} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup MinGW native environment | |
uses: msys2/setup-msys2@v2 | |
with: | |
msystem: ${{ matrix.msystem }} | |
update: false | |
install: >- | |
git | |
mingw-w64-${{ matrix.arch }}-gcc | |
mingw-w64-${{ matrix.arch }}-gcc-fortran | |
mingw-w64-${{ matrix.arch }}-python | |
mingw-w64-${{ matrix.arch }}-python-pip | |
mingw-w64-${{ matrix.arch }}-python-setuptools | |
mingw-w64-${{ matrix.arch }}-cmake | |
mingw-w64-${{ matrix.arch }}-ninja | |
mingw-w64-${{ matrix.arch }}-openblas | |
- name: Setup msys POSIX environment | |
uses: msys2/setup-msys2@v2 | |
if: contains(matrix.msystem, 'MSYS') | |
with: | |
msystem: MSYS | |
update: false | |
install: >- | |
git | |
mingw-w64-x86_64-gcc | |
mingw-w64-x86_64-gcc-fortran | |
python | |
python-pip | |
cmake | |
ninja | |
- name: Install fypp | |
run: pip install fypp | |
# Build and test with external BLAS and LAPACK (OpenBLAS on MINGW64) | |
- name: Configure with CMake and OpenBLAS | |
run: >- | |
PATH=$PATH:/mingw64/bin/ cmake | |
-Wdev | |
-B build_openblas | |
-DCMAKE_BUILD_TYPE=Debug | |
-DCMAKE_Fortran_FLAGS_DEBUG="-Wall -Wextra -Wimplicit-interface -fPIC -g -fcheck=all -fbacktrace" | |
-DCMAKE_MAXIMUM_RANK:String=4 | |
-DCMAKE_INSTALL_PREFIX=$PWD/_dist | |
-DFIND_BLAS:STRING=TRUE | |
env: | |
FC: gfortran | |
CC: gcc | |
CXX: g++ | |
- name: CMake build with OpenBLAS | |
run: PATH=$PATH:/mingw64/bin/ cmake --build build_openblas --parallel | |
- name: catch build fail | |
if: failure() | |
run: PATH=$PATH:/mingw64/bin/ cmake --build build_openblas --verbose --parallel 1 | |
- name: CTest with OpenBLAS | |
run: PATH=$PATH:/mingw64/bin/ ctest --test-dir build_openblas --output-on-failure --parallel -V -LE quadruple_precision | |
- uses: actions/upload-artifact@v1 | |
if: failure() | |
with: | |
name: WindowsCMakeTestlog_openblas | |
path: build_openblas/Testing/Temporary/LastTest.log | |
- name: Install project with OpenBLAS | |
run: PATH=$PATH:/mingw64/bin/ cmake --install build_openblas |