Как я могу включить файл cmake при сборке с помощью distutils python?

У меня есть логика C ++, которую я вызываю из Python. Я создал setup.py, используя distutils для сборки и установки. В логике C ++ есть файл cmake. Для сборки C ++ этот файл cmake должен быть включен в файл setup.py. Как я могу это сделать? Ниже мой файл cmake для кода C ++.

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. Пожалуйста, совет, как это сделать.

1

Решение

Поэтому вместо того, чтобы связываться с 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)
-1

Другие решения


По вопросам рекламы [email protected]