X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Fpybind%2FCMakeLists.txt;fp=src%2Fceph%2Fsrc%2Fpybind%2FCMakeLists.txt;h=dbdb23f1c567c766657bebc42ff44ef1b3f47d6e;hb=812ff6ca9fcd3e629e49d4328905f33eee8ca3f5;hp=0000000000000000000000000000000000000000;hpb=15280273faafb77777eab341909a3f495cf248d9;p=stor4nfv.git diff --git a/src/ceph/src/pybind/CMakeLists.txt b/src/ceph/src/pybind/CMakeLists.txt new file mode 100644 index 0000000..dbdb23f --- /dev/null +++ b/src/ceph/src/pybind/CMakeLists.txt @@ -0,0 +1,69 @@ +include(Distutils) + +set(CYTHON_MODULE_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/cython_modules) + +# Keep the default version last +if(WITH_PYTHON3) + set(py_vers 3) +endif() +list(APPEND py_vers 2) + +foreach(python_version ${py_vers}) + if(${python_version} EQUAL 2) + set(PYTHON_VERSION "") + else(${python_version} EQUAL 2) + set(PYTHON_VERSION ${python_version}) + endif(${python_version} EQUAL 2) + + find_package(Cython REQUIRED) + + add_subdirectory(rados rados${PYTHON_VERSION}) + add_custom_target(cython${PYTHON_VERSION}_modules ALL + DEPENDS cython${PYTHON_VERSION}_rados) + + if(WITH_RBD) + add_subdirectory(rbd rbd${PYTHON_VERSION}) + add_dependencies(cython${PYTHON_VERSION}_modules cython${PYTHON_VERSION}_rbd) + endif() + if(WITH_CEPHFS) + add_subdirectory(cephfs cephfs${PYTHON_VERSION}) + add_dependencies(cython${PYTHON_VERSION}_modules cython${PYTHON_VERSION}_cephfs) + endif() + if(WITH_RADOSGW) + add_subdirectory(rgw rgw${PYTHON_VERSION}) + add_dependencies(cython${PYTHON_VERSION}_modules cython${PYTHON_VERSION}_rgw) + endif() + + # if CMAKE_INSTALL_PREFIX is an empty string, must replace + # it with "/" to make PYTHON_INSTALL_TEMPLATE an absolute path to be + # consistent with all other installation paths. + if(CMAKE_INSTALL_PREFIX) + set(PYTHON_INSTALL_TEMPLATE "${CMAKE_INSTALL_PREFIX}") + else(CMAKE_INSTALL_PREFIX) + set(PYTHON_INSTALL_TEMPLATE "/") + endif(CMAKE_INSTALL_PREFIX) + + execute_process( + COMMAND + ${PYTHON${PYTHON_VERSION}_EXECUTABLE} -c "from distutils import sysconfig; print(sysconfig.get_python_lib(prefix='${PYTHON_INSTALL_TEMPLATE}'))" + OUTPUT_VARIABLE "PYTHON${PYTHON_VERSION}_INSTDIR" + OUTPUT_STRIP_TRAILING_WHITESPACE) + + install(FILES + ${CMAKE_CURRENT_SOURCE_DIR}/ceph_argparse.py + ${CMAKE_CURRENT_SOURCE_DIR}/ceph_daemon.py + ${CMAKE_CURRENT_SOURCE_DIR}/ceph_volume_client.py + DESTINATION ${PYTHON${PYTHON_VERSION}_INSTDIR}) +endforeach() + +install(FILES + ${CMAKE_CURRENT_SOURCE_DIR}/ceph_rest_api.py + DESTINATION ${PYTHON_INSTDIR}) + +if(WITH_MGR) + # Location needs to match default setting for mgr_module_path, currently: + # OPTION(mgr_module_path, OPT_STR, CEPH_PKGLIBDIR "/mgr") + install(DIRECTORY + ${CMAKE_CURRENT_SOURCE_DIR}/mgr + DESTINATION ${CMAKE_INSTALL_PKGLIBDIR}) +endif(WITH_MGR)