如何为python调用的CMake添加一个选项

时间:2018-01-14 03:56:40

标签: python cmake

我正在尝试向CMake命令添加命令行选项,但不幸的是,在python文件中调用了CMake命令。

在setup.py文件中,有一个名为CMakeExtensions的类:

class CMakeExtension(Extension):
    def __init__(self, name, sourcedir=''):
        Extension.__init__(self, name, sources=[])
        self.sourcedir = os.path.abspath(sourcedir)

我正在尝试添加以下选项:

cmake -DOPENSSL_ROOT_DIR=/usr/local/Cellar/openssl/1.0.2k -DOPENSSL_LIBRARIES=/usr/local/Cellar/openssl/1.0.2k/li

原始的setup.py可以在这里找到:

https://github.com/citp/BlockSci/blob/master/setup.py

1 个答案:

答案 0 :(得分:0)

似乎这是他们添加extensions的地方。

只需更改

    cmake_args = ['-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=' + extdir,
                  '-DPYTHON_EXECUTABLE=' + sys.executable]

    cmake_args = ['-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=' + extdir,
                  '-DPYTHON_EXECUTABLE=' + sys.executable,
                  '-DOPENSSL_ROOT_DIR=' + yourPathHere,
                  '-DOPENSSL_LIBRARIES=' + yourPathHere ]

虽然我不推荐它,但我确信有更好的方法。但我不熟悉这个库,这将是解决你的问题。