mirror of
https://github.com/ceph/ceph
synced 2025-03-25 11:48:05 +00:00
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 <kchai@redhat.com>
This commit is contained in:
parent
ed888f6983
commit
b02aaebc45
24
cmake/modules/Distutils.cmake
Normal file
24
cmake/modules/Distutils.cmake
Normal file
@ -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)
|
@ -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)
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user