Ответ 1
Как я уже сказал в своем комментарии, двоичные модули Python обычно создаются с помощью distutils
/setuptools
. Для этого вам нужно написать setup.py
script со всеми необходимыми параметрами. Ниже приведен очень минимальный пример, показывающий только основные вещи:
from setuptools import setup, Extension
setup(
name = 'awesome',
version = '0.0.1',
packages = ['awesome_package']
ext_modules = [Extension(
'awesome_package.module2',
['src/module2.cpp']
)]
)
Естественно, что в setup.py
вам нужно указать все ваши параметры сборки, такие как файлы заголовков, флаги компилятора и т.д.
Если вы настаиваете на использовании CMake, вам нужно добавить собственную команду копирования, чтобы скопировать скомпилированный модуль внутри вашего пакета. Что-то вроде этого:
add_custom_command(TARGET module2 POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:module2>
"${CMAKE_SOURCE_DIR}/awesome_package"
)