python - pybind11,cmake : how to install files?

标签 python c++ cmake pybind11

我正在将 C++ 库与越来越流行的 pybind11 连接起来获取 native Python 绑定(bind);通过 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”部分是可选的,但对于不同类型的安装程序来说更简洁。

关于python - pybind11,cmake : how to install files?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45225381/

相关文章:

c++ - 非标准扩展链接错误CMake

python - MSYS2 和嵌入 Python。没有名为 'encodings' 的模块

c++ - 我可以在初始化之前使用 std::array 成员变量中的 data() 指针吗?发出警告

python - PyQtGraph:通过绘制数据切片发出循环

python - 减少列表字典的最佳方法

python - 在字典中连接数组

JAVA_HOME "bug"

c++ - 前缀/后缀增量运算符

c++ - CMake add_definitions 不局限于当前目录

python - 如何在numpy中做循环移位