Skip to content

Commit bd82aa0

Browse files
Merge pull request #524 from weslleyspereira/try-github-actions-for-windows
Create GitHub action to test CMake build system on Windows
2 parents 0c44dd4 + 88f56ce commit bd82aa0

File tree

2 files changed

+19
-15
lines changed

2 files changed

+19
-15
lines changed

.github/workflows/cmake.yml

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
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'
@@ -62,7 +62,7 @@ jobs:
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

CBLAS/testing/CMakeLists.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@
44
#######################################################################
55

66
macro(add_cblas_test output input target)
7-
set(TEST_INPUT "${CMAKE_CURRENT_SOURCE_DIR}/${input}")
7+
if(NOT "${input}" STREQUAL "")
8+
set(TEST_INPUT "${CMAKE_CURRENT_SOURCE_DIR}/${input}")
9+
endif()
810
set(TEST_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${output}")
911
set(testName "${target}")
1012

11-
if(EXISTS "${TEST_INPUT}")
13+
if(DEFINED TEST_INPUT AND EXISTS "${TEST_INPUT}")
1214
add_test(NAME CBLAS-${testName} COMMAND "${CMAKE_COMMAND}"
1315
-DTEST=$<TARGET_FILE:${target}>
1416
-DINPUT=${TEST_INPUT}

0 commit comments

Comments
 (0)