【问题标题】:Install a CMake macro script from within a python package install script (using setup.py)从 python 包安装脚本中安装 CMake 宏脚本(使用 setup.py)
【发布时间】:2015-05-24 20:49:13
【问题描述】:

所以我有一个 Python 包 - 都是 set up on PyPIon GitHub,没问题。这是我比较熟悉的。

我不知道的是:安装 CMake 脚本作为 python 包安装过程的一部分的概念。有问题的python包是一个开发工具——你用它来预处理你的一些C/C++/Obj-C/Obj-C++源文件并在头文件中生成一些预定义的宏——当它被包装在一个CMake中时它工作得很好宏 (for example like so) 并作为适当的依赖链的一部分执行。

首先,我不知道如何处理这个问题,因为the setuptools sandbox stancedistutils’ willing systems-level installer integration 之间似乎存在显着差异——即使我确实知道如何在setup.py 中正确进行设置,我找不到一个很好的先例来说明与 Python 包有关的 CMake 脚本可能存在于何处。

欢迎对此事提出任何想法和见解。

【问题讨论】:

    标签: python cmake setuptools distutils setup.py


    【解决方案1】:

    我花了一段时间才明白你的问题。如果我理解正确,您要做的是在 cmake 的标准安装位置提供 IodSymbolize.cmake,以便依赖您的软件(符号器)的其他用户/项目可以在他们的构建过程中使用它。我认为您正在朝着一个好的方向思考,尝试为您的软件包的最终用户提供服务。好问题!

    这是我对 cmake 世界中事物如何运作的理解。

    假设我是想要使用“符号器”可执行文件的最终用户。我会做的是 find_package(符号器)。这将尝试找出可执行文件的位置,并设置可在构建过程中使用的某些变量。

    您需要提供 Findsymbolizer.cmake 文件。

    请看:http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries

    如果您是 Unix/Linux 平台,还请查看 /usr//share/cmake/Modules 目录中提供的 Find*.cmake 文件。

    一旦 Findsymbolizer.cmake 文件正常工作,请将其发送到 cmake 邮件列表以供审核。一旦被接受,它就可以打包到下一个版本的 cmake 中。然后您的模块可以与 cmake 一起使用。希望我回答了你的问题。如果您需要更多信息,请更新。

    【讨论】:

    • 谢谢!我之前制作了一个 Find*.cmake 文件,但在这种情况下我没有意识到它的必要性。这似乎是要走的路,非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-18
    • 1970-01-01
    • 2019-05-09
    • 2015-06-14
    • 2019-03-12
    • 1970-01-01
    • 2018-02-26
    相关资源
    最近更新 更多