From b02aaebc45ba946a5997bae751b695e71ecf1a7e Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Sat, 28 May 2016 15:44:36 +0800 Subject: [PATCH] cmake: install ceph-{detect-init,disk} add a cmake module named Distutils.cmake for setting up python modules using setup.py. Signed-off-by: Kefu Chai --- cmake/modules/Distutils.cmake | 24 ++++++++++++++++++++++++ src/ceph-detect-init/CMakeLists.txt | 3 +++ src/ceph-disk/CMakeLists.txt | 3 +++ 3 files changed, 30 insertions(+) create mode 100644 cmake/modules/Distutils.cmake diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake new file mode 100644 index 0000000000000..4697c87852b08 --- /dev/null +++ b/cmake/modules/Distutils.cmake @@ -0,0 +1,24 @@ +function(distutils_install_module name) + if(DEFINED ENV{DESTDIR}) + get_filename_component(debian_version /etc/debian_version ABSOLUTE) + if(EXISTS ${debian_version}) + set(options "--install-layout=deb") + else() + set(options "--prefix=/usr") + endif() + endif() + + set(py_srcs setup.py README.rst requirements.txt test-requirements.txt ${name}) + foreach(src ${py_srcs}) + list(APPEND py_clone ${CMAKE_CURRENT_BINARY_DIR}/${src}) + add_custom_command( + OUTPUT ${src} + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${src} + COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_SOURCE_DIR}/${src} ${src}) + endforeach() + add_custom_target(${name}-clone ALL + DEPENDS ${py_clone}) + install(CODE + "execute_process(COMMAND ${PYTHON_EXECUTABLE} setup.py install ${options} --root=$DESTDIR + WORKING_DIRECTORY \"${CMAKE_CURRENT_BINARY_DIR}\")") +endfunction(distutils_install_module) diff --git a/src/ceph-detect-init/CMakeLists.txt b/src/ceph-detect-init/CMakeLists.txt index 8cefcb16c247a..d7e0f5b7b8308 100644 --- a/src/ceph-detect-init/CMakeLists.txt +++ b/src/ceph-detect-init/CMakeLists.txt @@ -6,3 +6,6 @@ add_custom_target(ceph-detect-init ${CEPH_DETECT_INIT_VIRTUALENV}/bin/pip install --no-index --use-wheel --find-links=file:${CMAKE_SOURCE_DIR}/src/ceph-detect-init/wheelhouse -e . WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-detect-init COMMENT "ceph-detect-init is being created") + +include(Distutils) +distutils_install_module(ceph_detect_init) diff --git a/src/ceph-disk/CMakeLists.txt b/src/ceph-disk/CMakeLists.txt index 025f6dbe3ec0e..9c91f18c9f889 100644 --- a/src/ceph-disk/CMakeLists.txt +++ b/src/ceph-disk/CMakeLists.txt @@ -6,3 +6,6 @@ add_custom_target(ceph-disk ${CEPH_DISK_VIRTUALENV}/bin/pip install --no-index --use-wheel --find-links=file:${CMAKE_SOURCE_DIR}/src/ceph-disk/wheelhouse -e . WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/ceph-disk COMMENT "ceph-disk is being created") + +include(Distutils) +distutils_install_module(ceph_disk) -- 2.39.5