44 push :
55 branches :
66 - master
7- - try-github-actions
7+ - try-github-actions-for-windows
88 paths :
99 - .github/workflows/cmake.yml
1010 - ' **CMakeLists.txt'
6262 strategy :
6363 fail-fast : true
6464 matrix :
65- os : [ macos-latest, ubuntu-latest ]
65+ os : [ macos-latest, ubuntu-latest, windows-latest ]
6666 fflags : [
6767 " -Wall -Wno-unused-dummy-argument -Wno-unused-variable -Wno-unused-label -Werror=conversion -fimplicit-none -frecursive -fcheck=all" ,
6868 " -Wall -Wno-unused-dummy-argument -Wno-unused-variable -Wno-unused-label -Werror=conversion -fimplicit-none -frecursive -fcheck=all -fopenmp" ]
@@ -72,26 +72,28 @@ jobs:
7272 - name : Checkout LAPACK
7373 uses : actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
7474
75+ - name : Install ninja-build tool
76+ uses : seanmiddleditch/gha-setup-ninja@16b940825621068d98711680b6c3ff92201f8fc0 # v3
77+
7578 - name : Use GCC-11 on MacOS
7679 if : ${{ matrix.os == 'macos-latest' }}
7780 run : >
78- cmake -B build
81+ cmake -B build -G Ninja
7982 -D CMAKE_C_COMPILER="gcc-11"
8083 -D CMAKE_Fortran_COMPILER="gfortran-11"
8184 -D USE_FLAT_NAMESPACE:BOOL=ON
8285
83- # - name: Use Unix Makefiles on Windows
84- # if: ${{ matrix.os == 'windows-latest' }}
85- # run: >
86- # cmake -B build
87- # -G "Unix Makefiles"
88- # -D CMAKE_C_FLAGS="${{env.CFLAGS}} -Wl,--stack=1000000000"
86+ - name : Special flags for Windows
87+ if : ${{ matrix.os == 'windows-latest' }}
88+ run : >
89+ cmake -B build -G Ninja
90+ -D CMAKE_EXE_LINKER_FLAGS="-Wl,--stack=2097152"
8991
9092 - name : Configure CMake
9193 # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
9294 # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
9395 run : >
94- cmake -B build
96+ cmake -B build -G Ninja
9597 -D CMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
9698 -D CMAKE_INSTALL_PREFIX=${{github.workspace}}/lapack_install
9799 -D CBLAS:BOOL=ON
@@ -107,18 +109,18 @@ jobs:
107109 run : |
108110 ctest -D ExperimentalStart
109111 ctest -D ExperimentalConfigure
110- ctest -D ExperimentalBuild -j2
112+ ctest -D ExperimentalBuild
111113
112114 - name : Test with OpenMP
113115 working-directory : ${{github.workspace}}/build
114- if : ${{ contains( matrix.fflags, 'openmp' ) }}
116+ if : ${{ contains( matrix.fflags, 'openmp' ) && (matrix.os != 'windows-latest') }}
115117 run : |
116118 ctest -D ExperimentalTest --schedule-random -j1 --output-on-failure --timeout 100
117119 ctest -D ExperimentalSubmit
118120
119121 - name : Test
120122 working-directory : ${{github.workspace}}/build
121- if : ${{ !contains( matrix.fflags, 'openmp' ) }}
123+ if : ${{ !contains( matrix.fflags, 'openmp' ) && (matrix.os != 'windows-latest') }}
122124 run : |
123125 ctest -D ExperimentalTest --schedule-random -j2 --output-on-failure --timeout 100
124126 ctest -D ExperimentalSubmit
0 commit comments