From: Kefu Chai Date: Thu, 28 Jan 2021 12:35:36 +0000 (+0800) Subject: cmake: install rook-client-python using ExternalProject X-Git-Tag: v16.2.0~230^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F39165%2Fhead;p=ceph.git cmake: install rook-client-python using ExternalProject so we don't need to rerun the generate_rook_ceph_client.sh script everytime when building the script. cmake creates a stamp file for tracking the dependencies and the time of modification of dependencies. Signed-off-by: Kefu Chai (cherry picked from commit 7fb44404bb8bed2a60177ba3948b318f14d28521) --- diff --git a/src/pybind/mgr/rook/CMakeLists.txt b/src/pybind/mgr/rook/CMakeLists.txt index 15ba4c149385..206e165e6890 100644 --- a/src/pybind/mgr/rook/CMakeLists.txt +++ b/src/pybind/mgr/rook/CMakeLists.txt @@ -1,12 +1,15 @@ -add_custom_command( - OUTPUT rook_client/__init__.py - COMMAND ./generate_rook_ceph_client.sh - COMMENT "generating mgr/rook/rook_client" - WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/src/pybind/mgr/rook") +include(ExternalProject) -add_custom_target(mgr-rook-client - DEPENDS rook_client/__init__.py - WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/src/pybind/mgr/rook" -) +ExternalProject_Add(mgr-rook-client + SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/rook-client-python/rook_client" + # use INSTALL_DIR for destination dir + INSTALL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/rook_client" + CONFIGURE_COMMAND "" + BUILD_COMMAND ${CMAKE_COMMAND} -E make_directory + COMMAND ${CMAKE_COMMAND} -E copy_directory /ceph /ceph + COMMAND ${CMAKE_COMMAND} -E copy /__init__.py + COMMAND ${CMAKE_COMMAND} -E copy /_helper.py + BUILD_BYPRODUCTS "/__init__.py" + INSTALL_COMMAND "") add_dependencies(ceph-mgr mgr-rook-client)