跳转到主要内容

CMake构建F2Py模块的辅助工具

项目描述

f2py-cmake

Actions Status

PyPI version PyPI platforms

这为使用F2Py提供了辅助工具。使用

include(UseF2Py)

您必须事先找到Python解释器。这将定义一个 F2Py::F2Py 目标(以及匹配的 F2PY_EXECUTABLE 变量)。它还将提供以下辅助函数

f2py_object_library(<name> <type>)

f2py_generate_module(<module> <files>...
                  [F2PY_ARGS <args> ...]
                  [F77 | F90]
                  [NOLOWER]
                  [OUTPUT_DIR <OutputDir>]
                  [OUTPUT_VARIABLE <OutputVariable>]
                  )

示例

find_package(
  Python
  COMPONENTS Interpreter Development.Module NumPy
  REQUIRED)

include(UseF2Py)

# Create the F2Py `numpyobject` library.
f2py_object_library(f2py_object OBJECT)

f2py_generate_module(fibby fib1.f OUTPUT_VARIABLE fibby_files)

python_add_library(fibby MODULE "${fibby_files}" WITH_SOABI)
target_link_library(fibby PRIVATE f2py_object)

scikit-build-core

要使用此包与scikit-build-core一起使用,您需要将其包含在构建需求中

[build-system]
requires = ["scikit-build-core", "numpy", "f2py-cmake"]
build-backend = "scikit_build_core.build"

供应商

您还可以将UseF2Py供应商集成到您的包中。这避免了在构建时需要依赖项,并保护您免受此包更改的影响,但代价是需要手动重新供应商以获取错误修复和/或改进。此机制也适用于您希望在scikit-build-core之外直接构建的情况。

您应该创建一个CMake辅助目录,例如cmake。像这样将其添加到您的CMakeLists.txt文件中:

list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")

然后,您可以将其文件供应商放入那个文件夹中。

pipx run f2py-cmake vendor cmake

致谢

本工作的支持由NSF资助计划OAC-2209877提供。本文中表达的意见、发现、结论或建议是作者的观点,不一定反映国家科学基金会的观点。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

f2py_cmake-0.1.2.tar.gz (17.6 kB 查看哈希值)

上传时间

构建分发

f2py_cmake-0.1.2-py3-none-any.whl (15.1 kB 查看哈希值)

上传时间 Python 3

支持者