Skip to content

Commit f650825

Browse files
authored
Merge pull request #1441 from LLNL/feature/kweiss/optional-opencascade-dep
Adds opencascade as an optional dependency
2 parents 9c1a5ce + 24fa8c7 commit f650825

File tree

31 files changed

+776
-95
lines changed

31 files changed

+776
-95
lines changed

RELEASE-NOTES.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ The Axom project release numbers follow [Semantic Versioning](http://semver.org/
2121

2222
### Added
2323
- `sidre::View` holding array data may now be re-shaped. See `sidre::View::reshapeArray`.
24+
- Adds optional dependency on [Open CASCADE](https://dev.opencascade.org). The initial intention is
25+
to use Open CASCADE's file I/O capabilities in support of Quest applications.
2426

2527
### Changed
2628
- Importing Conduit array data into `sidre::View` now allocates destination
@@ -36,6 +38,9 @@ The Axom project release numbers follow [Semantic Versioning](http://semver.org/
3638
### Removed
3739

3840
### Fixed
41+
- Fixes compilation issue with [email protected] on 32-bit Windows configurations.
42+
This required a [RAJA fix to avoid 64-bit intrinsics](https://github.com/LLNL/RAJA/pull/1746),
43+
as well as support for 32-bit `Word`s in Slam's `BitSet` class.
3944

4045
## [Version 0.10.1] - Release date 2024-10-22
4146

host-configs/[email protected]

Lines changed: 13 additions & 11 deletions
Large diffs are not rendered by default.

host-configs/[email protected]

Lines changed: 13 additions & 11 deletions
Large diffs are not rendered by default.

host-configs/[email protected]

Lines changed: 13 additions & 11 deletions
Large diffs are not rendered by default.

scripts/spack/configs/blueos_3_ppc64le_ib_p9/spack.yaml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,34 @@ spack:
278278
279279
prefix: /usr
280280

281+
# External dependencies for opencascade
282+
# Couldn't find the exact versions for the libx* libraries, so copied from toss4 versions
283+
mesa:
284+
buildable: False
285+
externals:
286+
- spec: [email protected] # found via: glxinfo | grep -i version
287+
prefix: /
288+
libxi:
289+
buildable: False
290+
externals:
291+
292+
prefix: /
293+
libxt:
294+
buildable: False
295+
externals:
296+
297+
prefix: /
298+
libxext:
299+
buildable: False
300+
externals:
301+
302+
prefix: /
303+
libxmu:
304+
buildable: False
305+
externals:
306+
307+
prefix: /
308+
281309
# External dependencies for SCR
282310
lsf:
283311
buildable: False
@@ -323,6 +351,8 @@ spack:
323351
require: "@3.0.1~shared~tests~examples"
324352
umpire:
325353
require: "@2024.07.0~shared~examples~werror"
354+
opencascade:
355+
require: "@7.8.1+data_exchange~draw"
326356

327357
# Globally lock in versions of Devtools
328358
cmake:

scripts/spack/configs/toss_4_x86_64_ib/spack.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,31 @@ spack:
8989
externals:
9090
9191
prefix: /usr
92+
mesa:
93+
buildable: False
94+
externals:
95+
- spec: [email protected] # found via: glxinfo | grep -i version
96+
prefix: /usr
97+
libxi:
98+
buildable: False
99+
externals:
100+
- spec: [email protected] # found via: strings /usr/lib64/libXi.so | grep -i "libXi"
101+
prefix: /usr
102+
libxt:
103+
buildable: False
104+
externals:
105+
- spec: [email protected] # found via: strings /usr/lib64/libXt.so | grep -i "libXt"
106+
prefix: /usr
107+
libxext:
108+
buildable: False
109+
externals:
110+
- spec: [email protected] # found via: strings /usr/lib64/libXext.so | grep -i "libXext"
111+
prefix: /usr
112+
libxmu:
113+
buildable: False
114+
externals:
115+
- spec: [email protected] # found via: strings /usr/lib64/libXmu.so | grep -i "libXmu"
116+
prefix: /usr
92117

93118
# Lock down which MPI we are using
94119
mpi:
@@ -293,6 +318,8 @@ spack:
293318
require: "@3.0.1~shared~tests~examples"
294319
umpire:
295320
require: "@2024.07.0~shared~examples~werror"
321+
opencascade:
322+
require: "@7.8.1+data_exchange~draw"
296323

297324
# Lock in versions of Devtools
298325
cmake:

scripts/spack/configs/toss_4_x86_64_ib_cray/spack.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -420,6 +420,34 @@ spack:
420420
421421
prefix: /usr
422422

423+
# External dependencies for opencascade
424+
# libx* versions found via `strings /path/to/libx*.so
425+
mesa:
426+
buildable: False
427+
externals:
428+
- spec: [email protected] # found via: glxinfo | grep -i version
429+
prefix: /
430+
libxi:
431+
buildable: False
432+
externals:
433+
434+
prefix: /
435+
libxt:
436+
buildable: False
437+
externals:
438+
439+
prefix: /
440+
libxext:
441+
buildable: False
442+
externals:
443+
444+
prefix: /
445+
libxmu:
446+
buildable: False
447+
externals:
448+
449+
prefix: /
450+
423451
# External dependencies for SCR
424452
lsf:
425453
buildable: False

scripts/spack/packages/axom/package.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,8 @@ class Axom(CachedCMakePackage, CudaPackage, ROCmPackage):
9292
description="Build with hooks for Adiak/Caliper performance analysis",
9393
)
9494

95-
variant("c2c", default=False, description="Build with c2c")
95+
variant("c2c", default=False, description="Build with c2c")
96+
variant("opencascade", default=False, description="Build with opencascade")
9697

9798
variant("mfem", default=False, description="Build with mfem")
9899
variant("hdf5", default=True, description="Build with hdf5")
@@ -180,6 +181,7 @@ class Axom(CachedCMakePackage, CudaPackage, ROCmPackage):
180181
depends_on("rocprim", when="+rocm")
181182

182183
depends_on("c2c", when="+c2c")
184+
depends_on("opencascade", when="+opencascade")
183185

184186
with when("+mfem"):
185187
depends_on("mfem+mpi", when="+mpi")
@@ -489,7 +491,7 @@ def initconfig_package_entries(self):
489491
entries.append(cmake_cache_path("CONDUIT_DIR", conduit_dir))
490492

491493
# optional tpls
492-
for dep in ("c2c", "mfem", "hdf5", "lua", "raja", "umpire"):
494+
for dep in ("c2c", "mfem", "hdf5", "lua", "raja", "umpire", "opencascade"):
493495
if "+%s" % dep in spec:
494496
dep_dir = get_spec_path(spec, dep, path_replacements)
495497
entries.append(cmake_cache_path("%s_DIR" % dep.upper(), dep_dir))

scripts/spack/specs.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
"toss_4_x86_64_ib":
1717
[ "[email protected]+devtools+hdf5+mfem+c2c+scr+profiling",
18-
"[email protected]+devtools+hdf5+mfem+c2c+scr+profiling",
18+
"[email protected]+devtools+hdf5+mfem+c2c+scr+profiling+opencascade",
1919
"[email protected]+devtools+hdf5+mfem+c2c+profiling" ],
2020

2121
"__comment__":"# Use amdgpu_target=gfx942 for rzadams",

scripts/vcpkg_ports/axom/portfile.cmake

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,12 @@ set(_umpire_dep [=[
167167
set(UMPIRE_DIR "@CURRENT_INSTALLED_DIR@" CACHE PATH "")
168168
]=])
169169

170+
171+
set(_opencascade_dep [=[
172+
173+
set(OPENCASCADE_DIR "@CURRENT_INSTALLED_DIR@" CACHE PATH "")
174+
]=])
175+
170176
set(_openmp_dep [=[
171177
172178
# Setup OpenMP; fix MSVC linker error about unknown flag
@@ -198,7 +204,7 @@ else()
198204
file(APPEND ${_hc_file}.in "${_conduit_dep_off}")
199205
endif()
200206

201-
foreach(_dep lua mfem openmp raja umpire)
207+
foreach(_dep lua mfem openmp raja umpire opencascade)
202208
if(${_dep} IN_LIST FEATURES)
203209
file(APPEND ${_hc_file}.in "${_${_dep}_dep}")
204210
else()

0 commit comments

Comments
 (0)