diff --git a/CHANGELOG.md b/CHANGELOG.md index 697a51f..1db6d98 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,13 +13,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +### Changed + +### Deprecated + +## [3.60.0] - 2025-05-02 + +### Changed + +### Added + - 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 ### Changed - Added support for Emerald Rapids - -### Deprecated +- Added `DEPENDS` option to f2py and f2py3 code to pass dependencies to the `add_custom_command` used to call f2py ## [3.59.0] - 2025-04-24 diff --git a/python/f2py/UseF2Py.cmake b/python/f2py/UseF2Py.cmake index 340b021..50eb24b 100644 --- a/python/f2py/UseF2Py.cmake +++ b/python/f2py/UseF2Py.cmake @@ -29,7 +29,7 @@ macro (add_f2py_module _name) # Parse arguments. set (options USE_MPI USE_OPENMP USE_NETCDF DOUBLE_PRECISION) set (oneValueArgs DESTINATION) - set (multiValueArgs SOURCES ONLY LIBRARIES INCLUDEDIRS) + set (multiValueArgs SOURCES DEPENDS ONLY LIBRARIES INCLUDEDIRS) cmake_parse_arguments(add_f2py_module "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} ) set(only_list ${add_f2py_module_ONLY}) @@ -275,7 +275,7 @@ macro (add_f2py_module _name) ${F2PY_EXECUTABLE} ${F2PY_QUIET} -m ${_name} --build-dir "${CMAKE_CURRENT_BINARY_DIR}/f2py-${_name}" ${_fcompiler_opts} ${_inc_opts} ${_lib_opts} -c ${_abs_srcs} ${REDIRECT_TO_DEV_NULL} - DEPENDS ${add_f2py_module_SOURCES} + DEPENDS ${add_f2py_module_SOURCES} ${add_f2py_module_DEPENDS} COMMENT "[F2PY] Building Fortran to Python interface module ${_name}") else () if ( "${add_f2py_module_SOURCES}" MATCHES "^[^;]*\\.pyf;" ) @@ -283,7 +283,7 @@ macro (add_f2py_module _name) COMMAND ${F2PY_EXECUTABLE} ${F2PY_QUIET} -m ${_name} --build-dir "${CMAKE_CURRENT_BINARY_DIR}/f2py-${_name}" ${_fcompiler_opts} ${_inc_opts} -c ${_abs_srcs} ${REDIRECT_TO_DEV_NULL} - DEPENDS ${add_f2py_module_SOURCES} + DEPENDS ${add_f2py_module_SOURCES} ${add_f2py_module_DEPENDS} COMMENT "[F2PY] Building Fortran to Python interface module ${_name}") else ( "${add_f2py_module_SOURCES}" MATCHES "^[^;]*\\.pyf;" ) add_custom_command(OUTPUT "${_name}${F2PY_SUFFIX}" @@ -294,7 +294,7 @@ macro (add_f2py_module _name) --build-dir "${CMAKE_CURRENT_BINARY_DIR}/f2py-${_name}" -c "${CMAKE_CURRENT_BINARY_DIR}/f2py-${_name}/${_name}.pyf" ${_fcompiler_opts} ${_inc_opts} ${_lib_opts} ${_abs_srcs} ${_lib_opts} ${_only} ${REDIRECT_TO_DEV_NULL} - DEPENDS ${add_f2py_module_SOURCES} + DEPENDS ${add_f2py_module_SOURCES} ${add_f2py_module_DEPENDS} COMMENT "[F2PY] Building Fortran to Python interface module ${_name}") endif ( "${add_f2py_module_SOURCES}" MATCHES "^[^;]*\\.pyf;" ) endif () diff --git a/python/f2py3/UseF2Py3.cmake b/python/f2py3/UseF2Py3.cmake index 5f1a275..979c5a1 100644 --- a/python/f2py3/UseF2Py3.cmake +++ b/python/f2py3/UseF2Py3.cmake @@ -29,7 +29,7 @@ macro (add_f2py3_module _name) # Parse arguments. set (options USE_MPI USE_OPENMP USE_NETCDF DOUBLE_PRECISION) set (oneValueArgs DESTINATION) - set (multiValueArgs SOURCES ONLY LIBRARIES INCLUDEDIRS) + set (multiValueArgs SOURCES DEPENDS ONLY LIBRARIES INCLUDEDIRS) cmake_parse_arguments(add_f2py3_module "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} ) set(only_list ${add_f2py3_module_ONLY}) @@ -275,7 +275,7 @@ macro (add_f2py3_module _name) ${F2PY3_EXECUTABLE} ${F2PY_QUIET} -m ${_name} --build-dir "${CMAKE_CURRENT_BINARY_DIR}/f2py3-${_name}" ${_fcompiler_opts} ${_inc_opts} ${_lib_opts} -c ${_abs_srcs} ${REDIRECT_TO_DEV_NULL} - DEPENDS ${add_f2py3_module_SOURCES} + DEPENDS ${add_f2py3_module_SOURCES} ${add_f2py3_module_DEPENDS} COMMENT "[F2PY3] Building Fortran to Python3 interface module ${_name}") else () if ( "${add_f2py3_module_SOURCES}" MATCHES "^[^;]*\\.pyf;" ) @@ -283,7 +283,7 @@ macro (add_f2py3_module _name) COMMAND ${F2PY3_EXECUTABLE} ${F2PY_QUIET} -m ${_name} --build-dir "${CMAKE_CURRENT_BINARY_DIR}/f2py3-${_name}" ${_fcompiler_opts} ${_inc_opts} -c ${_abs_srcs} ${REDIRECT_TO_DEV_NULL} - DEPENDS ${add_f2py3_module_SOURCES} + DEPENDS ${add_f2py3_module_SOURCES} ${add_f2py3_module_DEPENDS} COMMENT "[F2PY3] Building Fortran to Python3 interface module ${_name}") else ( "${add_f2py3_module_SOURCES}" MATCHES "^[^;]*\\.pyf;" ) add_custom_command(OUTPUT "${_name}${F2PY3_SUFFIX}" @@ -294,7 +294,7 @@ macro (add_f2py3_module _name) --build-dir "${CMAKE_CURRENT_BINARY_DIR}/f2py3-${_name}" -c "${CMAKE_CURRENT_BINARY_DIR}/f2py3-${_name}/${_name}.pyf" ${_fcompiler_opts} ${_inc_opts} ${_lib_opts} ${_abs_srcs} ${_lib_opts} ${_only} ${REDIRECT_TO_DEV_NULL} - DEPENDS ${add_f2py3_module_SOURCES} + DEPENDS ${add_f2py3_module_SOURCES} ${add_f2py3_module_DEPENDS} COMMENT "[F2PY3] Building Fortran to Python3 interface module ${_name}") endif ( "${add_f2py3_module_SOURCES}" MATCHES "^[^;]*\\.pyf;" ) endif ()