From 405b0e4cddce67c7995fbfeb4b567929e0136e87 Mon Sep 17 00:00:00 2001 From: Noah Oblath Date: Fri, 22 Apr 2022 01:27:35 -0700 Subject: [PATCH 1/8] Use interface target include directories to pass include directories with each FETK component library --- gamer/CMakeLists.txt | 12 ++++++------ gamer/src/CMakeLists.txt | 7 +++++++ maloc/src/CMakeLists.txt | 7 +++++++ mc/CMakeLists.txt | 14 +++++++------- mc/src/CMakeLists.txt | 7 +++++++ punc/CMakeLists.txt | 12 ++++++------ punc/src/CMakeLists.txt | 16 ++++++++++++---- 7 files changed, 52 insertions(+), 23 deletions(-) diff --git a/gamer/CMakeLists.txt b/gamer/CMakeLists.txt index 9a414f14..366960df 100644 --- a/gamer/CMakeLists.txt +++ b/gamer/CMakeLists.txt @@ -53,12 +53,12 @@ header_and_type_checks() if(NOT TARGET maloc) message(FATAL_ERROR "Maloc target not found") endif() -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/base - ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/psh - ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/vsh - ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/vsys -) +#include_directories( +# ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/base +# ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/psh +# ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/vsh +# ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/vsys +#) list(APPEND GAMER_INT_LIBS maloc) diff --git a/gamer/src/CMakeLists.txt b/gamer/src/CMakeLists.txt index 34bd558e..94d86c27 100644 --- a/gamer/src/CMakeLists.txt +++ b/gamer/src/CMakeLists.txt @@ -37,5 +37,12 @@ add_subdirectory(biom) add_library(gamer ${SOURCES} ${EXTERNAL_HEADERS} ${INTERNAL_HEADERS}) target_link_libraries(gamer ${GAMER_EXT_LIBS} ${GAMER_INT_LIBS}) +get_target_property( SOURCE_TREE_INCLUDE_DIRS gamer INCLUDE_DIRECTORIES ) +target_include_directories( gamer + INTERFACE + "$" + "$" +) + install(FILES ${EXTERNAL_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) install(TARGETS gamer DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/maloc/src/CMakeLists.txt b/maloc/src/CMakeLists.txt index 52872dcf..9fb7b2a4 100644 --- a/maloc/src/CMakeLists.txt +++ b/maloc/src/CMakeLists.txt @@ -37,5 +37,12 @@ add_subdirectory(vsys) add_library(maloc ${SOURCES} ${EXTERNAL_HEADERS} ${INTERNAL_HEADERS}) target_link_libraries(maloc ${MALOC_EXT_LIBS}) +get_target_property( SOURCE_TREE_INCLUDE_DIRS maloc INCLUDE_DIRECTORIES ) +target_include_directories( maloc + INTERFACE + "$" + "$" +) + install(FILES ${EXTERNAL_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) install(TARGETS maloc DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/mc/CMakeLists.txt b/mc/CMakeLists.txt index af55a0b9..b4427197 100644 --- a/mc/CMakeLists.txt +++ b/mc/CMakeLists.txt @@ -67,14 +67,14 @@ list(APPEND MC_EXT_LIBS if(NOT TARGET maloc) message(FATAL_ERROR "Maloc target not found") endif() -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/base - ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/psh - ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/vsh - ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/vsys - ${CMAKE_CURRENT_SOURCE_DIR}/../punc/src/base +#include_directories( +# ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/base +# ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/psh +# ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/vsh +# ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/vsys +# ${CMAKE_CURRENT_SOURCE_DIR}/../punc/src/base # ${CMAKE_CURRENT_SOURCE_DIR}/../punc/src/amd/punc # we need this because punc/umfpack.h has #include -) +#) list(APPEND MC_INT_LIBS maloc) # punc library diff --git a/mc/src/CMakeLists.txt b/mc/src/CMakeLists.txt index afe9d0ca..8e46f608 100644 --- a/mc/src/CMakeLists.txt +++ b/mc/src/CMakeLists.txt @@ -49,5 +49,12 @@ add_subdirectory(mcsh) add_library(mc ${SOURCES} ${EXTERNAL_HEADERS} ${INTERNAL_HEADERS}) target_link_libraries(mc ${MC_EXT_LIBS} ${MC_INT_LIBS}) +get_target_property( SOURCE_TREE_INCLUDE_DIRS mc INCLUDE_DIRECTORIES ) +target_include_directories( mc + INTERFACE + "$" + "$" +) + install(FILES ${EXTERNAL_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) install(TARGETS mc DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/punc/CMakeLists.txt b/punc/CMakeLists.txt index b6764b6e..d8679b39 100644 --- a/punc/CMakeLists.txt +++ b/punc/CMakeLists.txt @@ -102,12 +102,12 @@ set(BUILD_PMG ON) if(NOT TARGET maloc) message(FATAL_ERROR "Maloc target not found") endif() -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/base - ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/psh - ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/vsh - ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/vsys -) +#include_directories( +# ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/base +# ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/psh +# ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/vsh +# ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/vsys +#) list(APPEND PUNC_INT_LIBS maloc) diff --git a/punc/src/CMakeLists.txt b/punc/src/CMakeLists.txt index afc2bd51..5d646b77 100644 --- a/punc/src/CMakeLists.txt +++ b/punc/src/CMakeLists.txt @@ -59,6 +59,7 @@ endif() include_directories(${CMAKE_CURRENT_BINARY_DIR}) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/base) configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/config/punccf.h.in @@ -82,10 +83,17 @@ endif() #add_library(punc INTERFACE) add_library(punc ${SOURCES} ${EXTERNAL_HEADERS} ${INTERNAL_HEADERS}) target_link_libraries(punc ${PUNC_EXT_LIBS} ${PUNC_INT_LIBS}) -target_include_directories(punc PUBLIC - $ - $ +# $" + "$" ) install(FILES ${EXTERNAL_HEADERS} ${INTERNAL_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) From a59510735c91e39db101ba3702ce2c021a0e31e6 Mon Sep 17 00:00:00 2001 From: Noah Oblath Date: Fri, 22 Apr 2022 01:28:35 -0700 Subject: [PATCH 2/8] Check for external SuperLU and add dependency libs in PUNC --- punc/CMakeLists.txt | 19 +++++++++++++++++-- punc/src/CMakeLists.txt | 13 +++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/punc/CMakeLists.txt b/punc/CMakeLists.txt index d8679b39..363f1a9b 100644 --- a/punc/CMakeLists.txt +++ b/punc/CMakeLists.txt @@ -74,8 +74,23 @@ else() endif() # SuperLU library -# We only build SuperLU from its git repo -set(BUILD_SUPERLU ON) +# At the moment, managed distributions of SuperLU include only the shared libraries. +# Note: checked on 4/20/22; including apt on Ubuntu and Home/Linuxbrew +# Therefore, we assume that we'll build SuperLU if we're not building shared libs. +message(STATUS "()()()() Static build? ${FETK_STATIC_BUILD}") +if(NOT FETK_STATIC_BUILD) + message(STATUS "()()()() PUNC check of SuperLU -- Looking for pre-built") + find_package(SuperLU) +endif() +if(SuperLU_FOUND) + message(STATUS "()()()() Found SuperLU") + message(STATUS "()()()() Superlu includes: ${SUPERLU_INCLUDES}") + message(STATUS "()()()() Superlu libraries: ${SUPERLU_LIBRARIES}") + set(BUILD_SUPERLU OFF) +else() + message(STATUS "()()()() Building SuperLU") + set(BUILD_SUPERLU ON) +endif() # ARPACK library find_package( ARPACK ) diff --git a/punc/src/CMakeLists.txt b/punc/src/CMakeLists.txt index 5d646b77..96afe2e1 100644 --- a/punc/src/CMakeLists.txt +++ b/punc/src/CMakeLists.txt @@ -13,30 +13,39 @@ setup_for_build() if(BUILD_VF2C) include_directories(vf2c vf2c/punc) add_subdirectory(vf2c) + list(APPEND PUNC_INT_LIBS vf2c) endif() # optional build of cgcode if(BUILD_CGCODE) include_directories(cgcode) add_subdirectory(cgcode) + list(APPEND PUNC_INT_LIBS cgcode) endif() # optional build of pmg if(BUILD_PMG) include_directories(pmg) add_subdirectory(pmg) + list(APPEND PUNC_INT_LIBS pmg) endif() # optional build of blas if(BUILD_BLAS) include_directories(blas) add_subdirectory(blas) + list(APPEND PUNC_INT_LIBS blas) +else() + list(APPEND PUNC_EXT_LIBS ${BLAS_LIBRARIES}) endif() # optional build of arpack if(BUILD_ARPACK) include_directories(arpack) add_subdirectory(arpack) + list(APPEND PUNC_INT_LIBS arpack) +else() + list(APPEND PUNC_EXT_LIBS ${ARPACK_LIBRARIES}) endif() # optional build of superlu (actual build takes place below) @@ -50,6 +59,10 @@ if(BUILD_SUPERLU) ) FetchContent_MakeAvailable( superlu ) include_directories(${superlu_SOURCE_DIR}/SRC) + list(APPEND PUNC_INT_LIBS superlu) +else() + include_directories(${SUPERLU_INCLUDES}) + list(APPEND PUNC_EXT_LIBS ${SUPERLU_LIBRARIES}) endif() From f4ed2e4cf873b9ac89ae4b6368509db335728875 Mon Sep 17 00:00:00 2001 From: Noah Oblath Date: Fri, 22 Apr 2022 01:28:58 -0700 Subject: [PATCH 3/8] Test use of installed SuperLU using the Dockerfile --- Dockerfile | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index c7a633fa..b17e4b03 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,6 +12,7 @@ RUN apt-get update && \ libf2c2-dev \ libopenblas-serial-dev \ libsuitesparse-dev \ + libsuperlu-dev \ && \ mkdir /src @@ -20,7 +21,7 @@ RUN apt-get update && \ FROM fetk_base ARG CREATE_PACKAGE=FALSE -ENV CREATE_PACKAGE=${CREATE_PACKAGE} +ARG FETK_STATIC_BUILD=ON COPY cmake /src/cmake COPY gamer /src/gamer @@ -34,6 +35,9 @@ RUN cd /src && \ export CC=gcc && \ mkdir build && \ cd build && \ - cmake -DCREATE_PACKAGE=${CREATE_PACKAGE} .. && \ + cmake \ + -DCREATE_PACKAGE:BOOL=${CREATE_PACKAGE} \ + -DFETK_STATIC_BUILD:BOOL=${FETK_STATIC_BUILD} \ + .. && \ make install && \ if [ "${CREATE_PACKAGE,,}" = true ]; then cpack; fi From 287f85ee3800fdace85652d977782c6024a733f2 Mon Sep 17 00:00:00 2001 From: Noah Oblath Date: Fri, 22 Apr 2022 09:23:39 -0700 Subject: [PATCH 4/8] Updating the version of Visual Studio used for the windows build --- .github/workflows/Build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build.yaml b/.github/workflows/Build.yaml index 4377a6b0..e9e455de 100644 --- a/.github/workflows/Build.yaml +++ b/.github/workflows/Build.yaml @@ -96,7 +96,7 @@ jobs: cd build echo $CMAKE_PREFIX_PATH echo "CREATE_PACKAGE: ${CREATE_PACKAGE}" - cmake -DCMAKE_BUILD_TYPE=Release -DBLA_VENDOR=${BLA_VENDOR} -DCREATE_PACKAGE=${CREATE_PACKAGE} -DVCPKG_TARGET_TRIPLET=x86-windows -DCMAKE_TOOLCHAIN_FILE=${VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake -G "Visual Studio 16 2019" -A Win32 .. + cmake -DCMAKE_BUILD_TYPE=Release -DBLA_VENDOR=${BLA_VENDOR} -DCREATE_PACKAGE=${CREATE_PACKAGE} -DVCPKG_TARGET_TRIPLET=x86-windows -DCMAKE_TOOLCHAIN_FILE=${VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake -G "Visual Studio 17 2022" -A Win32 .. shell: bash - name: Build on Mac and Linux From 13059c34104fd0e54194c67789eb7faeafc8fc94 Mon Sep 17 00:00:00 2001 From: Noah Oblath Date: Fri, 22 Apr 2022 09:38:51 -0700 Subject: [PATCH 5/8] Updated changelog --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d1eff26..4cba7fbd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # FETK Changelog +## X.Y.Z + +April 22, 2022 + +* CMake library targets keep track of the interface include directories +* PUNC looks for pre-installed SuperLU before building its own (non-static build only) +* Updated Visual Studio version used in the autmatic build to VS 17 (2022) + ## 1.9.2 Jan 21, 2022 From 86e074ecfa19b818e1896ea44082d14bc7e44082 Mon Sep 17 00:00:00 2001 From: Noah Oblath Date: Fri, 22 Apr 2022 11:11:23 -0700 Subject: [PATCH 6/8] Cleanup and make sections of PUNC optional --- Dockerfile | 3 ++- mc/CMakeLists.txt | 10 -------- punc/CMakeLists.txt | 51 +++++++++++++++++++++-------------------- punc/src/CMakeLists.txt | 6 ----- 4 files changed, 28 insertions(+), 42 deletions(-) diff --git a/Dockerfile b/Dockerfile index b17e4b03..bae0a073 100644 --- a/Dockerfile +++ b/Dockerfile @@ -22,6 +22,7 @@ FROM fetk_base ARG CREATE_PACKAGE=FALSE ARG FETK_STATIC_BUILD=ON +ARG MAKEJOBS="-j" COPY cmake /src/cmake COPY gamer /src/gamer @@ -39,5 +40,5 @@ RUN cd /src && \ -DCREATE_PACKAGE:BOOL=${CREATE_PACKAGE} \ -DFETK_STATIC_BUILD:BOOL=${FETK_STATIC_BUILD} \ .. && \ - make install && \ + make ${MAKEJOBS} install && \ if [ "${CREATE_PACKAGE,,}" = true ]; then cpack; fi diff --git a/mc/CMakeLists.txt b/mc/CMakeLists.txt index b4427197..fda51339 100644 --- a/mc/CMakeLists.txt +++ b/mc/CMakeLists.txt @@ -67,22 +67,12 @@ list(APPEND MC_EXT_LIBS if(NOT TARGET maloc) message(FATAL_ERROR "Maloc target not found") endif() -#include_directories( -# ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/base -# ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/psh -# ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/vsh -# ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/vsys -# ${CMAKE_CURRENT_SOURCE_DIR}/../punc/src/base -# ${CMAKE_CURRENT_SOURCE_DIR}/../punc/src/amd/punc # we need this because punc/umfpack.h has #include -#) list(APPEND MC_INT_LIBS maloc) # punc library if(NOT TARGET punc) message(FATAL_ERROR "Punc target not found") endif() -#include_directories( -#) list(APPEND MC_INT_LIBS punc) diff --git a/punc/CMakeLists.txt b/punc/CMakeLists.txt index 363f1a9b..ada30dd6 100644 --- a/punc/CMakeLists.txt +++ b/punc/CMakeLists.txt @@ -51,8 +51,10 @@ header_and_type_checks() # vf2c library # We only build vf2c -set(BUILD_VF2C ON) -message(STATUS "Will build vf2c") +option(BUILD_VF2C "Flag to build VF2C" ON) +if(BUILD_VF2C) + message(STATUS "Will build vf2c") +endif() # BLAS library # We do not optionally build BLAS @@ -63,33 +65,29 @@ else() set( BLA_VENDOR OpenBLAS ) endif() find_package( BLAS ) -if(NOT BLAS_FOUND) - set(BUILD_BLAS ON) - message(STATUS "Will build BLAS") -else() +if(BLAS_FOUND) set(BUILD_BLAS OFF) - message(STATUS "Will not build BLAS; using BLAS type ${BLA_VENDOR}") -### list(APPEND PUNC_EXT_LIBS ${AMD_LIBRARIES}) -### list(APPEND PUNC_EXT_LIB_DIRS ${AMD_LIBDIR}) +else() + option(BUILD_BLAS "Flag to build BLAS" ON) +endif() +if(BUILD_BLAS) + message(STATUS "Will build BLAS") endif() # SuperLU library # At the moment, managed distributions of SuperLU include only the shared libraries. # Note: checked on 4/20/22; including apt on Ubuntu and Home/Linuxbrew # Therefore, we assume that we'll build SuperLU if we're not building shared libs. -message(STATUS "()()()() Static build? ${FETK_STATIC_BUILD}") if(NOT FETK_STATIC_BUILD) - message(STATUS "()()()() PUNC check of SuperLU -- Looking for pre-built") find_package(SuperLU) endif() if(SuperLU_FOUND) - message(STATUS "()()()() Found SuperLU") - message(STATUS "()()()() Superlu includes: ${SUPERLU_INCLUDES}") - message(STATUS "()()()() Superlu libraries: ${SUPERLU_LIBRARIES}") set(BUILD_SUPERLU OFF) else() - message(STATUS "()()()() Building SuperLU") - set(BUILD_SUPERLU ON) + option(BUILD_SUPERLU "Flag to build SuperLU" ON) +endif() +if(BUILD_SUPERLU) + message(STATUS "Will build SuperLU") endif() # ARPACK library @@ -97,17 +95,26 @@ find_package( ARPACK ) if(NOT ARPACK_FOUND) set(BUILD_ARPACK ON) else() - set(BUILD_ARPACK OFF) + option(BUILD_ARPACK "Flag to build ARPACK" OFF) ### list(APPEND PUNC_EXT_LIBS ${ARPACK_LIBRARIES}) endif() +if(BUILD_ARPACK) + message(STATUS "Will build ARPACK") +endif() # cgcode library # Will always build cgcode -set(BUILD_CGCODE ON) +option(BUILD_CGCODE "Flag to build CGCODE" ON) +if(BUILD_CGCODE) + message(STATUS "Will build CGCODE") +endif() # pmg library # Will always build pmg -set(BUILD_PMG ON) +option(BUILD_PMG "Flag to build PMG" ON) +if(BUILD_PMG) + message(STATUS "Will build PMG") +endif() ################################################################################ # Ensure we have the MALOC library @@ -117,12 +124,6 @@ set(BUILD_PMG ON) if(NOT TARGET maloc) message(FATAL_ERROR "Maloc target not found") endif() -#include_directories( -# ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/base -# ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/psh -# ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/vsh -# ${CMAKE_CURRENT_SOURCE_DIR}/../maloc/src/vsys -#) list(APPEND PUNC_INT_LIBS maloc) diff --git a/punc/src/CMakeLists.txt b/punc/src/CMakeLists.txt index 96afe2e1..e66a11a3 100644 --- a/punc/src/CMakeLists.txt +++ b/punc/src/CMakeLists.txt @@ -93,14 +93,8 @@ if(${SOURCES}) message(FATAL_ERROR "The SOURCES variable should be empty because the PUNC build is currently setup to create an interface library. If there are actual PUNC sources, this library should be made into an actual library") endif() -#add_library(punc INTERFACE) add_library(punc ${SOURCES} ${EXTERNAL_HEADERS} ${INTERNAL_HEADERS}) target_link_libraries(punc ${PUNC_EXT_LIBS} ${PUNC_INT_LIBS}) -#target_include_directories(punc PUBLIC -# $ -# $ Date: Mon, 25 Apr 2022 11:32:38 -0700 Subject: [PATCH 7/8] Make OS versions explicit in the build workflow --- .github/workflows/Build.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/Build.yaml b/.github/workflows/Build.yaml index e9e455de..d597b878 100644 --- a/.github/workflows/Build.yaml +++ b/.github/workflows/Build.yaml @@ -19,17 +19,17 @@ jobs: strategy: matrix: fail-fast: [false] - os: [ubuntu-latest, macos-latest, windows-latest] + os: [ubuntu-20.04, macos-11, windows-2022] include: - - os: ubuntu-latest + - os: ubuntu-20.04 CMAKE_SYSTEM: Linux PACKAGE_TYPE: tar.gz BLA_VENDOR: OpenBLAS - - os: macos-latest + - os: macos-11 CMAKE_SYSTEM: Darwin PACKAGE_TYPE: tar.gz BLA_VENDOR: Apple - - os: windows-latest + - os: windows-2022 CMAKE_SYSTEM: win32 PACKAGE_TYPE: zip BLA_VENDOR: OpenBLAS From 84f22e27651b9863bffb6a6af1df91bcf32055db Mon Sep 17 00:00:00 2001 From: Noah Oblath Date: Mon, 25 Apr 2022 11:36:15 -0700 Subject: [PATCH 8/8] Try adding macos-12 (shows up in the GHA virtual environments repo, but not in the GHA docs) --- .github/workflows/Build.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/Build.yaml b/.github/workflows/Build.yaml index d597b878..64a8edea 100644 --- a/.github/workflows/Build.yaml +++ b/.github/workflows/Build.yaml @@ -19,7 +19,7 @@ jobs: strategy: matrix: fail-fast: [false] - os: [ubuntu-20.04, macos-11, windows-2022] + os: [ubuntu-20.04, macos-11, windows-2022, macos-12] include: - os: ubuntu-20.04 CMAKE_SYSTEM: Linux @@ -34,6 +34,10 @@ jobs: PACKAGE_TYPE: zip BLA_VENDOR: OpenBLAS WIN_DEPENDENCIES_RELEASE: v0.4.0 + - os: macos-12 + CMAKE_SYSTEM: Darwin + PACKAGE_TYPE: tar.gz + BLA_VENDOR: Apple env: # job-wide environment variables to use in `run` commands to avoid command-injection risks