我有一个C++库,其中包含了一个基于Boost.python的Python API库,它被包含在目录结构中。
module
|_python_files
|_cpp_files
有没有一种标准的方法来配置CMakelist,以便自动将包含Python文件的库添加到PYTHONPATH中?
根据文档,这应该是一个好办法:
set(ENV{PYTHONPATH} "${CMAKE_CURRENT_SOURCE_DIR}/module/python_files")
我没有测试过这个。
请注意,PYTHONPATH
环境变量是由 Python 解释器读取和使用的,而不是由 CMake 读取。当尝试定位 Python 代码导入的 Python 库时,Python 解释器会使用它。
FindPython
,您应该能够使用。Python_add_library (my_module MODULE src1.cpp)
或者您可以将路径添加到PYTHONPATH中:
list(append PYTHONPATH "${CMAKE_CURRENT_DIR}/module/python_files")
python_files
添加到您的 Python 定义路径中:export PYTHONPATH="${PYTHONPATH}:../module/python_files"
export PYTHONPATH="${PYTHONPATH}:../module/python_files"
这种写法是不起作用的,因为路径之间要使用分号 ;
来分隔。 - undefined