pybind11、cmake:如何安装文件?

Nic*_*mer 5 c++ python cmake pybind11

我正在将 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})
Run Code Online (Sandbox Code Playgroud)

然而,这似乎没有注册安装规则。因此,虽然构建树中的一切都按预期工作,但make install没有执行任何操作。

需要添加什么才能按顺序安装?

uto*_*pia 3

只是常用的 CMake 安装命令:

include(GNUInstallDirs)

install(TARGETS mylib
  COMPONENT python
  RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
  LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
  ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
Run Code Online (Sandbox Code Playgroud)

对于 Unix。您可以手动为其他平台创建目标目录。“COMPONENT”部分是可选的,但对于不同类型的安装程序来说更简洁。