Skip to content

Commit 3de0c67

Browse files
authored
Merge pull request #447 from GEOS-ESM/feature/v4-add-depends-cmake
2 parents 1b1b8c2 + ff223d4 commit 3de0c67

File tree

3 files changed

+17
-11
lines changed

3 files changed

+17
-11
lines changed

CHANGELOG.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1313

1414
### Added
1515

16+
### Changed
17+
18+
### Deprecated
19+
20+
## [4.16.0] - 2025-05-02
21+
22+
### Added
23+
1624
- Explicitly set `CMAKE_INSTALL_LIBDIR` to `lib` to override `GNUInstallDirs` from setting it to `lib64`. This is mainly needed due to assumptions in GEOS scripting
1725

1826
### Changed
1927

2028
- Added support for Emerald Rapids
21-
22-
### Deprecated
29+
- Added `DEPENDS` option to f2py and f2py3 code to pass dependencies to the `add_custom_command` used to call f2py
2330

2431
## [4.15.0] - 2025-04-24
2532

@@ -29,7 +36,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2936
- Modified the f2py and f2py3 codes for meson+MPT support
3037
- It was found that when an f2py code uses MPI, with meson+MPT we need to run with `LD_PRELOAD=/path/to/mpt/libmpi.so`
3138

32-
3339
## [4.14.2] - 2025-04-22
3440

3541
### Fixed

python/f2py/UseF2Py.cmake

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ macro (add_f2py_module _name)
2929
# Parse arguments.
3030
set (options USE_MPI USE_OPENMP USE_NETCDF DOUBLE_PRECISION)
3131
set (oneValueArgs DESTINATION)
32-
set (multiValueArgs SOURCES ONLY LIBRARIES INCLUDEDIRS)
32+
set (multiValueArgs SOURCES DEPENDS ONLY LIBRARIES INCLUDEDIRS)
3333
cmake_parse_arguments(add_f2py_module "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
3434

3535
set(only_list ${add_f2py_module_ONLY})
@@ -275,15 +275,15 @@ macro (add_f2py_module _name)
275275
${F2PY_EXECUTABLE} ${F2PY_QUIET} -m ${_name}
276276
--build-dir "${CMAKE_CURRENT_BINARY_DIR}/f2py-${_name}"
277277
${_fcompiler_opts} ${_inc_opts} ${_lib_opts} -c ${_abs_srcs} ${REDIRECT_TO_DEV_NULL}
278-
DEPENDS ${add_f2py_module_SOURCES}
278+
DEPENDS ${add_f2py_module_SOURCES} ${add_f2py_module_DEPENDS}
279279
COMMENT "[F2PY] Building Fortran to Python interface module ${_name}")
280280
else ()
281281
if ( "${add_f2py_module_SOURCES}" MATCHES "^[^;]*\\.pyf;" )
282282
add_custom_command(OUTPUT "${_name}${F2PY_SUFFIX}"
283283
COMMAND ${F2PY_EXECUTABLE} ${F2PY_QUIET} -m ${_name}
284284
--build-dir "${CMAKE_CURRENT_BINARY_DIR}/f2py-${_name}"
285285
${_fcompiler_opts} ${_inc_opts} -c ${_abs_srcs} ${REDIRECT_TO_DEV_NULL}
286-
DEPENDS ${add_f2py_module_SOURCES}
286+
DEPENDS ${add_f2py_module_SOURCES} ${add_f2py_module_DEPENDS}
287287
COMMENT "[F2PY] Building Fortran to Python interface module ${_name}")
288288
else ( "${add_f2py_module_SOURCES}" MATCHES "^[^;]*\\.pyf;" )
289289
add_custom_command(OUTPUT "${_name}${F2PY_SUFFIX}"
@@ -294,7 +294,7 @@ macro (add_f2py_module _name)
294294
--build-dir "${CMAKE_CURRENT_BINARY_DIR}/f2py-${_name}"
295295
-c "${CMAKE_CURRENT_BINARY_DIR}/f2py-${_name}/${_name}.pyf"
296296
${_fcompiler_opts} ${_inc_opts} ${_lib_opts} ${_abs_srcs} ${_lib_opts} ${_only} ${REDIRECT_TO_DEV_NULL}
297-
DEPENDS ${add_f2py_module_SOURCES}
297+
DEPENDS ${add_f2py_module_SOURCES} ${add_f2py_module_DEPENDS}
298298
COMMENT "[F2PY] Building Fortran to Python interface module ${_name}")
299299
endif ( "${add_f2py_module_SOURCES}" MATCHES "^[^;]*\\.pyf;" )
300300
endif ()

python/f2py3/UseF2Py3.cmake

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ macro (add_f2py3_module _name)
2929
# Parse arguments.
3030
set (options USE_MPI USE_OPENMP USE_NETCDF DOUBLE_PRECISION)
3131
set (oneValueArgs DESTINATION)
32-
set (multiValueArgs SOURCES ONLY LIBRARIES INCLUDEDIRS)
32+
set (multiValueArgs SOURCES DEPENDS ONLY LIBRARIES INCLUDEDIRS)
3333
cmake_parse_arguments(add_f2py3_module "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
3434

3535
set(only_list ${add_f2py3_module_ONLY})
@@ -275,15 +275,15 @@ macro (add_f2py3_module _name)
275275
${F2PY3_EXECUTABLE} ${F2PY_QUIET} -m ${_name}
276276
--build-dir "${CMAKE_CURRENT_BINARY_DIR}/f2py3-${_name}"
277277
${_fcompiler_opts} ${_inc_opts} ${_lib_opts} -c ${_abs_srcs} ${REDIRECT_TO_DEV_NULL}
278-
DEPENDS ${add_f2py3_module_SOURCES}
278+
DEPENDS ${add_f2py3_module_SOURCES} ${add_f2py3_module_DEPENDS}
279279
COMMENT "[F2PY3] Building Fortran to Python3 interface module ${_name}")
280280
else ()
281281
if ( "${add_f2py3_module_SOURCES}" MATCHES "^[^;]*\\.pyf;" )
282282
add_custom_command(OUTPUT "${_name}${F2PY3_SUFFIX}"
283283
COMMAND ${F2PY3_EXECUTABLE} ${F2PY_QUIET} -m ${_name}
284284
--build-dir "${CMAKE_CURRENT_BINARY_DIR}/f2py3-${_name}"
285285
${_fcompiler_opts} ${_inc_opts} -c ${_abs_srcs} ${REDIRECT_TO_DEV_NULL}
286-
DEPENDS ${add_f2py3_module_SOURCES}
286+
DEPENDS ${add_f2py3_module_SOURCES} ${add_f2py3_module_DEPENDS}
287287
COMMENT "[F2PY3] Building Fortran to Python3 interface module ${_name}")
288288
else ( "${add_f2py3_module_SOURCES}" MATCHES "^[^;]*\\.pyf;" )
289289
add_custom_command(OUTPUT "${_name}${F2PY3_SUFFIX}"
@@ -294,7 +294,7 @@ macro (add_f2py3_module _name)
294294
--build-dir "${CMAKE_CURRENT_BINARY_DIR}/f2py3-${_name}"
295295
-c "${CMAKE_CURRENT_BINARY_DIR}/f2py3-${_name}/${_name}.pyf"
296296
${_fcompiler_opts} ${_inc_opts} ${_lib_opts} ${_abs_srcs} ${_lib_opts} ${_only} ${REDIRECT_TO_DEV_NULL}
297-
DEPENDS ${add_f2py3_module_SOURCES}
297+
DEPENDS ${add_f2py3_module_SOURCES} ${add_f2py3_module_DEPENDS}
298298
COMMENT "[F2PY3] Building Fortran to Python3 interface module ${_name}")
299299
endif ( "${add_f2py3_module_SOURCES}" MATCHES "^[^;]*\\.pyf;" )
300300
endif ()

0 commit comments

Comments
 (0)