使用 distutils python 构建时如何合并 cmake 文件?

How can I incorporate cmake file when building with distutils python?

我有一个从 Python 调用的 C++ 逻辑。我创建了一个 setup.py 使用 distutils 来构建和安装。 C++ 逻辑有一个 cmake 文件。要构建 C++,需要将此 cmake 文件合并到 setup.py 文件中。我怎样才能做到这一点?下面是我的 C++ 代码的 cmake 文件。

CMAKE_MINIMUM_REQUIRED(VERSION 2.6)

set(name "facerec")
project(facerec_cpp_samples)

#SET(OpenCV_DIR /path/to/your/opencv/installation)

# packages
find_package(OpenCV REQUIRED) # http://opencv.willowgarage.com

add_executable(fisherfaces_app fisherfaces_app.cpp)
target_link_libraries(fisherfaces_app opencv_contrib opencv_core opencv_imgproc opencv_highgui)

下面是我的 setup.py 文件。

from distutils.core import setup,Extension

extension_mod=Extension("getGender",["getGender.cpp"])

setup(name="getGender",ext_modules=[extension_mod])

我是嵌入式 python 和 cmake 的新手。请提供有关如何执行此操作的建议。

因此,我没有将 cmake 和 setup.py 都搞砸,而是将 Python 头文件合并到 cmake 中并构建了一个共享库。然后使用这个共享库从 Python 调用我的函数。我的cmake如下,

CMAKE_MINIMUM_REQUIRED(VERSION 2.6)

set(name "facerec")
project(facerec_cpp_samples)

#SET(OpenCV_DIR /path/to/your/opencv/installation)

# packages
find_package(OpenCV REQUIRED) # http://opencv.willowgarage.com

find_package(PythonLibs REQUIRED)
include_directories(/usr/include/python2.7)




add_library(getAge SHARED getAge.cpp)
target_link_libraries(getAge opencv_contrib opencv_core opencv_imgproc opencv_highgui python2.7)