@@ -229,6 +229,60 @@ jobs:
229229 - name : test
230230 run : cd build && ctest -V
231231
232+ windows :
233+ # Windows CI. Tests static and dynamic builds with MT and MD respectively.
234+ if : |
235+ github.event_name != 'workflow_dispatch' ||
236+ github.event.inputs.type == 'all' ||
237+ github.event.inputs.type == 'win'
238+ runs-on : ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'windows-2022-8c-32g-300h') || 'windows-latest' }}
239+ name : windows-vc:${{ matrix.config.vc }}-type:${{ matrix.config.build }}
240+ env :
241+ VCPKG_DEFAULT_TRIPLET : ${{ matrix.config.vc }}
242+ strategy :
243+ matrix :
244+ config :
245+ # static build of blosc from vcpkg does not build internal sources.
246+ # USE_STATIC_DEPENDENCIES is required for IlmBase/OpenEXR defines and
247+ # Boost as both shared and static libs are installed.
248+ # USE_EXPLICIT_INSTANTIATION is disabled for debug static libraries
249+ # due to disk space constraints
250+ - { vc: 'x64-windows-static', components: 'core,bin,view,render,test', build: 'Release', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_SHARED=OFF -DUSE_STATIC_DEPENDENCIES=ON -DBLOSC_USE_EXTERNAL_SOURCES=ON' }
251+ - { vc: 'x64-windows', components: 'core,bin,view,render,python,test', build: 'Release', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' }
252+ - { vc: 'x64-windows', components: 'core,bin,view,render,python,test', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' }
253+ fail-fast : false
254+ steps :
255+ - uses : actions/checkout@v3
256+ - name : path
257+ shell : pwsh
258+ run : |
259+ # note: system path must be modified in a previous step to it's use
260+ echo "$Env:VCPKG_INSTALLATION_ROOT\installed\${{ matrix.config.vc }}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
261+ echo "${{github.workspace}}\build\openvdb\openvdb\${{ matrix.config.build }}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
262+ - name : install
263+ run : ./ci/install_windows.sh
264+ - name : build
265+ run : >
266+ ./ci/build.sh -v
267+ --config=${{ matrix.config.build }}
268+ --components=${{ matrix.config.components }}
269+ --cargs=\'
270+ ${{ matrix.config.cmake }}
271+ -DMSVC_COMPRESS_PDB=ON
272+ -DUSE_EXR=ON
273+ -DUSE_PNG=ON
274+ -DVCPKG_TARGET_TRIPLET=${VCPKG_DEFAULT_TRIPLET}
275+ -DCMAKE_TOOLCHAIN_FILE=\"${VCPKG_INSTALLATION_ROOT}\\scripts\\buildsystems\\vcpkg.cmake\"
276+ \'
277+ - name : size
278+ # Print the build directy size (monitor if we're hitting runner limits)
279+ run : du -h build
280+ - name : test
281+ # Always run tests on weekly builds but skip Debug on commits as they take a while.
282+ # https://github.community/t/distinct-job-for-each-schedule/17811/2
283+ if : contains(github.event.schedule, '0 7 * * 1') || matrix.config.build == 'Release'
284+ run : cd build && ctest -V -C ${{ matrix.config.build }}
285+
232286 # ############################################################################
233287 # ########################### AX Library Extras ##############################
234288 # ############################################################################
@@ -396,6 +450,64 @@ jobs:
396450 # ################################# Blosc ####################################
397451 # ############################################################################
398452
453+ windows-nanovdb :
454+ if : |
455+ github.event_name != 'workflow_dispatch' ||
456+ github.event.inputs.type == 'all' ||
457+ github.event.inputs.type == 'win'
458+ runs-on : ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'windows-2022-8c-32g-300h') || 'windows-latest' }}
459+ env :
460+ VCPKG_DEFAULT_TRIPLET : ${{ matrix.config.vc }}
461+ visual_studio : " Visual Studio 17 2022"
462+ cuda : " 12.4.0"
463+ strategy :
464+ matrix :
465+ config :
466+ # static build of blosc from vcpkg does not build internal sources.
467+ # USE_STATIC_DEPENDENCIES is required for IlmBase/OpenEXR defines and
468+ # Boost as both shared and static libs are installed.
469+ - { vc: 'x64-windows-static', build: 'Release', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_SHARED=OFF -DUSE_STATIC_DEPENDENCIES=ON -DBLOSC_USE_EXTERNAL_SOURCES=ON -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded' }
470+ - { vc: 'x64-windows-static', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_SHARED=OFF -DUSE_STATIC_DEPENDENCIES=ON -DBLOSC_USE_EXTERNAL_SOURCES=ON -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDebug' }
471+ - { vc: 'x64-windows', build: 'Release', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' }
472+ - { vc: 'x64-windows', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' }
473+ fail-fast : false
474+ steps :
475+ - uses : actions/checkout@v3
476+ - name : path
477+ shell : powershell
478+ run : |
479+ # note: system path must be modified in a previous step to it's use
480+ echo "$Env:VCPKG_INSTALLATION_ROOT\installed\${{ matrix.config.vc }}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
481+ echo "${{github.workspace}}\build\openvdb\openvdb\${{ matrix.config.build }}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
482+ - name : install_cuda
483+ shell : powershell
484+ run : .\ci\install_windows_cuda.ps1
485+ - name : install_deps
486+ shell : bash
487+ run : ./ci/install_windows.sh
488+ - name : build
489+ shell : bash
490+ run : >
491+ ./ci/build.sh -v
492+ --config=${{ matrix.config.build }}
493+ --components=core,nano,nanotest,nanoexam,nanobench,nanotool
494+ --cargs=\'
495+ ${{ matrix.config.cmake }}
496+ -DMSVC_COMPRESS_PDB=ON
497+ -DUSE_EXPLICIT_INSTANTIATION=OFF
498+ -DNANOVDB_USE_CUDA=ON
499+ -DNANOVDB_USE_OPENVDB=ON
500+ -DVCPKG_TARGET_TRIPLET=${VCPKG_DEFAULT_TRIPLET}
501+ -DCMAKE_TOOLCHAIN_FILE=\"${VCPKG_INSTALLATION_ROOT}\\scripts\\buildsystems\\vcpkg.cmake\"
502+ \'
503+ - name : test
504+ shell : bash
505+ run : cd build && ctest -V -E ".*cuda.*"
506+
507+ # ############################################################################
508+ # ################################# Blosc ####################################
509+ # ############################################################################
510+
399511 linux-blosc :
400512 if : |
401513 github.event_name != 'workflow_dispatch' ||
0 commit comments