Releases: GEOS-ESM/ESMA_cmake
v4: Support for Python 3.12, fix for mepo status write
This release adds support for Python 3.12 f2py (which now uses meson). This requires CMake 3.24
We also fix/workaround an issue with the mepo status
CMake code when run on compute nodes in certain circumstances (blobless clone, no mepo status
yet run).
From CHANGELOG.md
Fixed
- Fixed
mepo status
code to allow for quiet failures. There seems to be an odd scenario on non-internet-connected machines wheremepo status
will fail in blobless clones of some repos. Runningmepo status
on a node with internet access seems to fix this.
Changed
- For F2PY3 code, set CMake Policy CMP0132 if Python is 3.12+ or higher
- Add test to see if
ifort
spits out the deprecation warning. Needed to hack f2py/meson - Set minimum CMake version to 3.24 for the meson + f2py fix
What's Changed
- v4: Updates for meson-f2py support by @mathomp4 in #413
- GitFlow: Merge develop into main for 4.9.0 release by @mathomp4 in #414
Full Changelog: v4.8.1...v4.9.0
v3: Support for Python 3.12, fix for mepo status write
This release of v3 adds support for Python 3.12 f2py (which now uses meson). This requires CMake 3.24
We also fix/workaround an issue with the mepo status
CMake code when run on compute nodes in certain circumstances (blobless clone, no mepo status
yet run).
From CHANGELOG.md
Fixed
- Fixed
mepo status
code to allow for quiet failures. There seems to be an odd scenario on non-internet-connected machines wheremepo status
will fail in blobless clones of some repos. Runningmepo status
on a node with internet access seems to fix this.
Changed
- For F2PY3 code, set CMake Policy CMP0132 if Python is 3.12+ or higher
- Add test to see if
ifort
spits out the deprecation warning. Needed to hack f2py/meson - Set minimum CMake version to 3.24 for the meson + f2py fix
What's Changed
Full Changelog: v3.53.1...v3.54.0
v4: Don't try to determine MPI stack if MPI not found
ESMA_cmake itself does not require MPI, so if MPI is not found, we cannot determine an MPI stack. This release fixes that bug.
From CHANGELOG.md
Fixed
- Do not include
DetermineMPIStack
if MPI is not found
What's Changed
Full Changelog: v4.8.0...v4.8.1
v3: Don't try to determine MPI stack if MPI not found
ESMA_cmake itself does not require MPI, so if MPI is not found, we cannot determine an MPI stack. This release fixes that bug.
From CHANGELOG.md
Fixed
- Do not include
DetermineMPIStack
if MPI is not found
What's Changed
Full Changelog: v3.53.0...v3.53.1
v4: Output mepo status during build
This updates v4 to add a new esma_capture_mepo_status
function (in esma_support/esma_mepo_status.cmake
) to capture the output of mepo status --hashes
when mepo
was used to clone the fixture. It will output this into a file MEPO_STATUS.rc
which is installed to ${CMAKE_INSTALL_PREFIX}/etc
and can be used to help determine the exact state of the fixture at build time.
From CHANGELOG.md
Added
- Added new
esma_capture_mepo_status
function (inesma_support/esma_mepo_status.cmake
) to capture the output ofmepo status --hashes
whenmepo
was used to clone the fixture. It will output this into a fileMEPO_STATUS.rc
which is installed to${CMAKE_INSTALL_PREFIX}/etc
and can be used to help determine the exact state of the fixture at build time.
What's Changed
- v4: Add output of mepo status by @mathomp4 in #408
- GitFlow: Merge develop into main for release by @mathomp4 in #409
Full Changelog: v4.7.0...v4.8.0
v3: Output mepo status during build
This updates v3 to add a new esma_capture_mepo_status
function (in esma_support/esma_mepo_status.cmake
) to capture the output of mepo status --hashes
when mepo
was used to clone the fixture. It will output this into a file MEPO_STATUS.rc
which is installed to ${CMAKE_INSTALL_PREFIX}/etc
and can be used to help determine the exact state of the fixture at build time.
From CHANGELOG.md
Added
- Added new
esma_capture_mepo_status
function (inesma_support/esma_mepo_status.cmake
) to capture the output ofmepo status --hashes
whenmepo
was used to clone the fixture. It will output this into a fileMEPO_STATUS.rc
which is installed to${CMAKE_INSTALL_PREFIX}/etc
and can be used to help determine the exact state of the fixture at build time.
What's Changed
Full Changelog: v3.52.0...v3.53.0
Support for external MAPL library
This release of v4 adds support for building GEOSgcm, et al, with MAPL as an external library rather than internal. This could be useful for Spack builds of GEOSgcm where they want to use a prebuilt MAPL.
From CHANGELOG.md
Changed
- Support for building GEOSgcm with Spack using MAPL as library
- Update
esma_create_stub_component
to look formapl_stub.pl
in$MAPL_BASE_DIR/etc
(which is a variable defined by ecbuild) - Update
esma_generate_automatic_code
to look formapl_acg.pl
in$MAPL_BASE_DIR/etc
(which is a variable defined by ecbuild) - Require CMake 3.18 for features used in above updates
- Update
- Update to CircleCI orb v5
What's Changed
Full Changelog: v4.6.0...v4.7.0
v3: Support for external MAPL library
This release of v3 adds support for building GEOSgcm, et al, with MAPL as an external library rather than internal. This could be useful for Spack builds of GEOSgcm where they want to use a prebuilt MAPL.
Also, backport some updates from main
.
From CHANGELOG.md
Changed
- Support for building GEOSgcm with Spack using MAPL as library
- Update
esma_create_stub_component
to look formapl_stub.pl
in$MAPL_BASE_DIR/etc
(which is a variable defined by ecbuild) - Update
esma_generate_automatic_code
to look formapl_acg.pl
in$MAPL_BASE_DIR/etc
(which is a variable defined by ecbuild) - Require CMake 3.18 for features used in above updates
- Update
- Backport fixes from
main
- More support for NVHPC
- Support for Hygon processors with GNU Fortran
- Update to CircleCI orb v4
What's Changed
Full Changelog: v3.51.0...v3.52.0
Jemalloc and LLVM Flang Support
This release of ESMA_cmake adds a new FindJeMalloc.cmake
file for optional use in GEOS as well as preliminary LLVMFlang support.
Note that use of JeMalloc requires having the JeMalloc library available as well as changes in CMake for the needed executable.
From CHANGELOG.md
- Add
FindJeMalloc.cmake
for use with builds of GEOSgcm - Add preliminary LLVMFlang support
What's Changed
- Add FindJeMalloc.cmake by @mathomp4 in #349
- Add preliminary Flang support by @mathomp4 in #402
- GitFlow: Merge develop to main for release by @mathomp4 in #403
Full Changelog: v4.5.0...v4.6.0
v3: Jemalloc and LLVM Flang Support
This release of ESMA_cmake v3 adds a new FindJeMalloc.cmake
file for optional use in GEOS as well as preliminary LLVMFlang support.
Note that use of JeMalloc requires having the JeMalloc library available as well as changes in CMake for the needed executable.
From CHANGELOG.md
- Add
FindJeMalloc.cmake
for use with builds of GEOSgcm - Add preliminary LLVMFlang support
What's Changed
- Add FindJeMalloc.cmake (v3 branch) by @mathomp4 in #396
- v3: Add preliminary Flang support by @mathomp4 in #401
Full Changelog: v3.50.0...v3.51.0