pybind11,cmake:如何安装文件?

pybind11, cmake: how to install files?

我正在将 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。您可以手动为其他平台创建目标目录。 "COMPONENT" 部分是可选的,但对于不同类型的安装程序来说更简洁。