Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More robust hdf5, along with more refined I/O from cmake #198

Merged
merged 4 commits into from
Dec 14, 2022
Merged
Show file tree
Hide file tree
Changes from 3 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
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@
## Release 1.6.2
Date: 10/12/2022

### Revert to standard `hdf5` handling
- [[PR198]](https://github.com/lanl/singularity-eos/pull/198) Use a more robust HDF5 handling that eliminates some edge breaks

### Updated `hdf5` handling in the build
- [[PR181]](https://github.com/lanl/singularity-eos/pull/181) change from manual dependecy handling to using hdf5 interface targets

Expand Down
30 changes: 10 additions & 20 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ if(SINGULARITY_USE_KOKKOS)
# type: soft submodule
singularity_import_dependency(
PKG Kokkos
TARGET Kokkos::kokkos
TARGETS Kokkos::kokkos
Yurlungur marked this conversation as resolved.
Show resolved Hide resolved
SUBDIR ${PROJECT_SOURCE_DIR}/utils/kokkos
)
set(PORTABILITY_STRATEGY "Kokkos")
Expand Down Expand Up @@ -241,14 +241,14 @@ if (SINGULARITY_BUILD_CLOSURE)
# type: external
singularity_import_dependency(
PKG KokkosKernels
TARGET Kokkos::kokkoskernels
TARGETS Kokkos::kokkoskernels
)
list(APPEND SINGULARITY_PUBLIC_DEFINES SINGULARITY_USE_KOKKOSKERNELS)
else()
# type: soft submodule
singularity_import_dependency(
PKG Eigen3
TARGET Eigen3::Eigen
TARGETS Eigen3::Eigen
SUBDIR ${PROJECT_SOURCE_DIR}/utils/eigen
)
endif() #SINGULARITY_USE_KOKKOS_KERNELS
Expand All @@ -258,23 +258,23 @@ endif() #SINGULARITY_BUILD_CLOSURE
# type: soft submodule
singularity_import_dependency(
PKG mpark_variant
TARGET mpark_variant
TARGETS mpark_variant
SUBDIR ${PROJECT_SOURCE_DIR}/utils/variant
)

# ports-of-call
# type: ghost submodule
singularity_import_dependency(
PKG ports-of-call
TARGET ports-of-call::ports-of-call
TARGETS ports-of-call::ports-of-call
SUBDIR ${PROJECT_SOURCE_DIR}/utils/ports-of-call
)

# spiner
# type: soft submodule
singularity_import_dependency(
PKG spiner
TARGET spiner::spiner
TARGETS spiner::spiner
SUBDIR ${PROJECT_SOURCE_DIR}/utils/spiner
)

Expand All @@ -285,22 +285,12 @@ if (SINGULARITY_USE_HDF5)
enable_language(C)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes; Indeed, we don't require to do this for spiner, and I'm working on a PR for singularity to follow that approach.

singularity_import_dependency(
PKG HDF5
COMPONENTS "C;HL"
COMPONENTS C HL
TARGETS hdf5::hdf5 hdf5::hdf5_hl
)
# For the moment, there are several versions of
# HDF5 that are necessary to support, but they
# have incompatible build targets.
# So, for now, we roll a custom `FindHDF5.cmake`,
# and then explicilty pull out the libraries.
# CMM: I don't love this, but trying to get things
# moving for now
#TODO: Move this into `cmake/FindHDF5.cmake`
get_target_property(_seosh5ll HDF5::HDF5 INTERFACE_LINK_LIBRARIES)
get_target_property(_seosh5ic HDF5::HDF5 INTERFACE_INCLUDE_DIRECTORIES)
list(APPEND SINGULARITY_PUBLIC_LIBS ${_seosh5ll})
list(APPEND SINGULARITY_PUBLIC_INCS ${_seosh5ic})

# make sure we use MPI
if (HDF5_parallel_FOUND)
if (HDF5_IS_PARALLEL)
# Message passing interface
# type: external
singularity_import_dependency(
Expand Down
Loading