Я связываю библиотеку C ++ с еще более популярной pybind11 получить родные привязки Python; конфигурация через CMake
,
мой CMakeLists.txt
похоже
cmake_minimum_required(VERSION 3.0)
project(foo)
FILE(GLOB foo_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp")
FIND_PACKAGE(pybind11 REQUIRED)
pybind11_add_module(mylib ${foo_SRCS})
Однако, это не регистрирует правила установки. Следовательно, пока все работает как положено в дереве сборки, make install
ничего не делает
Что нужно добавить, чтобы привести установку в порядок?
Просто обычные команды установки CMake:
include(GNUInstallDirs)
install(TARGETS mylib
COMPONENT python
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
для Unix. Вы можете вручную создать каталоги назначения для других платформ. Часть «КОМПОНЕНТ» не является обязательной, но она подходит для различных типов установщиков.
Других решений пока нет …