Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .github/workflows/cmake-multi-platform.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ jobs:
os: [ubuntu-latest, macos-latest]
build_type: [Release]
c_compiler: [gcc, clang]
# 'default' is what a consumer gets with no options; 'all' turns on
# the optional libraries and the FSL parity defines, which are the
# code paths no workflow compiled before.
options: [default, all]
include:
- os: macos-latest
c_compiler: clang
Expand All @@ -43,6 +47,11 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Install optional dependencies
# cifti needs expat; only the 'all' configuration builds it.
if: runner.os == 'Linux' && matrix.options == 'all'
run: sudo apt-get update && sudo apt-get install -y libexpat1-dev zlib1g-dev

- name: Set reusable strings
# Turn repeated input strings (such as the build output directory) into step outputs. These step outputs can be used throughout the workflow file.
id: strings
Expand All @@ -58,6 +67,7 @@ jobs:
-DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }}
-DCMAKE_C_COMPILER=${{ matrix.c_compiler }}
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
${{ matrix.options == 'all' && '-DUSE_CIFTI_CODE=ON -DUSE_FSL_CODE=ON -DFSLSTYLE=ON' || '' }}
-S ${{ github.workspace }}

- name: Build
Expand Down