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" 部分是可选的,但对于不同类型的安装程序来说更简洁。
我正在将 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" 部分是可选的,但对于不同类型的安装程序来说更简洁。