3

我正在将一个 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但什么也没做。

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

4

1 回答 1

4

只是通常的 CMake 安装命令:

include(GNUInstallDirs)

install(TARGETS mylib
  COMPONENT python
  RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
  LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
  ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")

对于 Unix。您可以手动为其他平台构建目标目录。“组件”部分是可选的,但更适合不同类型的安装程序。

于 2017-07-20T21:28:20.737 回答