Skip to content

Commit 8716c86

Browse files
committed
github actions: build - add OpenVR,OpenXR,boost, enable VR modules (Windows)
1 parent 9b769e2 commit 8716c86

File tree

1 file changed

+82
-3
lines changed

1 file changed

+82
-3
lines changed

.github/workflows/build.yml

Lines changed: 82 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ env:
2828
ITK_SHORTVER: 5.4
2929
HDF5_VERSION: 1.14.5
3030
HDF5_ZLIB_VERSION: 1.3.1
31+
OPENXR_VERSION: 1.1.45
32+
OPENVR_VERSION: 2.5.1
33+
BOOST_VERSION: 1.87.0
34+
BOOST_VERSION_UNDERSCORE: 1_87_0
3135
# EIGEN: tested, working commit from Jun 18, 2024:
3236
EIGEN_LONGREF: d791d48859c6fc7850c9fd5270d2b236c818068d
3337
EIGEN_SHORTREF: d791d48859c6
@@ -46,9 +50,6 @@ jobs:
4650
security-events: write
4751
steps:
4852

49-
##################################################################
50-
# open_iA
51-
5253
- name: Checkout open_iA
5354
uses: actions/checkout@v4
5455
with:
@@ -66,8 +67,76 @@ jobs:
6667
cache: true
6768
cache-key-prefix: Qt
6869

70+
##################################################################
71+
# VR: OpenXR, OpenVR, boost
72+
73+
- if: runner.os == 'Windows'
74+
name: Check cache OpenXR
75+
uses: actions/cache@v4
76+
id: cache-openxr
77+
with:
78+
path: openxr-${{ env.OPENXR_VERSION }}
79+
key: ${{ runner.os }}-openxr-${{ env.OPENXR_VERSION }}
80+
- if: ${{ (runner.os == 'Windows' && steps.cache-openxr.outputs.cache-hit != 'true' ) }}
81+
name: Download OpenXR
82+
run: |
83+
curl -L https://github.com/KhronosGroup/OpenXR-SDK-Source/releases/download/release-${OPENXR_VERSION}/openxr_loader_windows-${{ env.OPENXR_VERSION }}.zip --output openxr-${{ env.OPENXR_VERSION }}.zip
84+
Expand-Archive openxr-${{ env.OPENXR_VERSION }}.zip -DestinationPath openxr-${{ env.OPENXR_VERSION }}
85+
- if: runner.os == 'Windows'
86+
name: Set up OpenXR options
87+
run: |
88+
"VTK_CMAKE_OPTIONS=${{env.VTK_CMAKE_OPTIONS}} -DVTK_MODULE_ENABLE_VTK_RenderingOpenXR:BOOL=YES -DOpenXR_DIR:PATH=${{github.workspace}}/openxr-${{ env.OPENXR_VERSION }}/x64/lib/cmake/openxr" >> $env:GITHUB_ENV
89+
"ITK_CMAKE_OPTIONS=${{env.ITK_CMAKE_OPTIONS}} -DOpenXR_DIR:PATH=${{github.workspace}}/openxr-${{ env.OPENXR_VERSION }}/x64/lib/cmake/openxr" >> $env:GITHUB_ENV
90+
"OPENIA_CMAKE_OPTIONS=${{env.OPENIA_CMAKE_OPTIONS}} -DOpenXR_DIR:PATH=${{github.workspace}}/openxr-${{ env.OPENXR_VERSION }}/x64/lib/cmake/openxr" >> $env:GITHUB_ENV
91+
92+
- if: runner.os == 'Windows'
93+
name: Check cache OpenVR
94+
uses: actions/cache@v4
95+
id: cache-openvr
96+
with:
97+
path: openvr-${{ env.OPENVR_VERSION }}
98+
key: ${{ runner.os }}-openvr-${{ env.OPENVR_VERSION }}
99+
- if: ${{ (runner.os == 'Windows' && steps.cache-openvr.outputs.cache-hit != 'true' ) }}
100+
name: Download OpenVR
101+
run: |
102+
curl -L https://github.com/ValveSoftware/openvr/archive/v${{ env.OPENVR_VERSION }}.zip --output openvr-${{ env.OPENVR_VERSION }}.zip
103+
Expand-Archive openvr-${{ env.OPENVR_VERSION }}.zip -DestinationPath .
104+
- if: runner.os == 'Windows'
105+
name: Set up OpenVR options
106+
run: |
107+
"VTK_CMAKE_OPTIONS=${{env.VTK_CMAKE_OPTIONS}} -DVTK_MODULE_ENABLE_VTK_RenderingOpenVR:BOOL=YES -DOpenVR_INCLUDE_DIR:PATH=${{github.workspace}}/openvr-${{ env.OPENVR_VERSION }}/headers -DOpenVR_LIBRARY:FILEPATH=${{github.workspace}}/openvr-${{ env.OPENVR_VERSION }}/lib/win64/openvr_api.lib" >> $env:GITHUB_ENV
108+
"ITK_CMAKE_OPTIONS=${{env.ITK_CMAKE_OPTIONS}} -DOpenVR_INCLUDE_DIR:PATH=${{github.workspace}}/openvr-${{ env.OPENVR_VERSION }}/headers -DOpenVR_LIBRARY:FILEPATH=${{github.workspace}}/openvr-${{ env.OPENVR_VERSION }}/lib/win64/openvr_api.lib" >> $env:GITHUB_ENV
109+
"OPENIA_CMAKE_OPTIONS=${{env.OPENIA_CMAKE_OPTIONS}} -DOpenVR_INCLUDE_DIR:PATH=${{github.workspace}}/openvr-${{ env.OPENVR_VERSION }}/headers -DOpenVR_LIBRARY:FILEPATH=${{github.workspace}}/openvr-${{ env.OPENVR_VERSION }}/lib/win64/openvr_api.lib" >> $env:GITHUB_ENV
110+
111+
# set up boost, required for VR:
112+
- if: runner.os == 'Windows'
113+
name: Check cache Boost
114+
uses: actions/cache@v4
115+
id: cache-boost
116+
with:
117+
path: boost-${{ env.BOOST_VERSION }}
118+
key: ${{ runner.os }}-boost-${{ env.BOOST_VERSION }}
119+
- if: ${{ (runner.os == 'Windows' && steps.cache-boost.outputs.cache-hit != 'true' ) }}
120+
name: Download Boost
121+
run: |
122+
curl -L https://archives.boost.io/release/${{env.BOOST_VERSION}}/source/boost_${{env.BOOST_VERSION_UNDERSCORE}}.zip --output boost-${{ env.BOOST_VERSION }}.zip
123+
Expand-Archive boost-${{ env.OPENVR_VERSION }}.zip -DestinationPath .
124+
125+
#- if: runner.os == 'Linux'
126+
# name: Install OpenXR and OpenVR
127+
# run: |
128+
# sudo apt update && apt install libopenxr-dev libopenvr-dev libboost-dev
129+
# boost could be problematic - no findpackage(boost) in open_iA (yet)
130+
131+
# enable open_iA VR modules, set boost path
132+
- if: runner.os == 'Windows'
133+
name: Set up VR modules
134+
run: |
135+
"OPENIA_CMAKE_OPTIONS=${{env.OPENIA_CMAKE_OPTIONS}} -DModule_ImNDT:BOOL=YES -DModule_VRAnnotation:BOOL=YES -DModule_XVRA:BOOL=YES -DBOOST_INCLUDE_DIR=${{github.workspace}}/boost_${{env.BOOST_VERSION_UNDERSCORE}}" >> $env:GITHUB_ENV
136+
69137
##################################################################
70138
# VTK
139+
71140
- name: Check cache for VTK build
72141
id: cache-vtk
73142
uses: actions/cache@v4
@@ -97,6 +166,7 @@ jobs:
97166
98167
##################################################################
99168
# ITK
169+
100170
- name: Check cache for ITK build
101171
id: cache-itk
102172
uses: actions/cache@v4
@@ -154,6 +224,9 @@ jobs:
154224
run: |
155225
"ITK_DIR=${{github.workspace}}/itk-${{ env.ITK_VERSION }}" >> $env:GITHUB_ENV
156226
227+
##################################################################
228+
# eigen
229+
157230
- name: Check cache for eigen
158231
id: cache-eigen
159232
uses: actions/cache@v4
@@ -171,6 +244,9 @@ jobs:
171244
git fetch origin --depth 1 ${{env.EIGEN_LONGREF}}
172245
git checkout FETCH_HEAD
173246
247+
##################################################################
248+
# HDF5
249+
174250
- name: Check cache for hdf5
175251
id: cache-hdf5
176252
uses: actions/cache@v4
@@ -191,6 +267,9 @@ jobs:
191267
cmake --build . --config ${{env.BUILD_TYPE}} -j 4
192268
cmake --install . --config ${{env.BUILD_TYPE}}
193269
270+
##################################################################
271+
# Node/npm (required for Remote module)
272+
194273
- name: Install npm
195274
uses: actions/setup-node@v4
196275
with:

0 commit comments

Comments
 (0)