From 2ea23ffdc6ff6147a50bb28b82553b92e4da3224 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Thu, 28 Jan 2021 20:35:36 +0800 Subject: [PATCH] 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) --- src/pybind/mgr/rook/CMakeLists.txt | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) 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) -- 2.47.3