From a78b9390de0ac7691c9499f80a76293e7ba2ab7a Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Sat, 21 May 2016 20:45:55 +0800 Subject: [PATCH] cmake: add ocf support a new option is added: WITH_OCF. it is OFF by default. Signed-off-by: Kefu Chai --- src/CMakeLists.txt | 5 +++++ src/ocf/CMakeLists.txt | 22 ++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 src/ocf/CMakeLists.txt diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3657a2458fd30..babb28312a84c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -113,6 +113,11 @@ else(${ENABLE_GIT_VERSION}) set(CEPH_GIT_NICE_VER "Development") endif(${ENABLE_GIT_VERSION}) +option(WITH_OCF "build OCF-compliant cluster resource agent" OFF) +if(WITH_OCF) + add_subdirectory(ocf) +endif() + # Python stuff find_package(PythonInterp 2 QUIET) if(NOT PYTHONINTERP_FOUND) diff --git a/src/ocf/CMakeLists.txt b/src/ocf/CMakeLists.txt new file mode 100644 index 0000000000000..8b90499062cbe --- /dev/null +++ b/src/ocf/CMakeLists.txt @@ -0,0 +1,22 @@ +# The root of the OCF resource agent hierarchy +# Per the OCF standard, it's always "lib", +# not "lib64" (even on 64-bit platforms). +set(ocf_dir ${CMAKE_INSTALL_PREFIX}/lib/ocf) + +string(TOLOWER ${PROJECT_NAME} lower_project_name) +# The ceph provider directory +set(ra_dir ${ocf_dir}/resource.d/${lower_project_name}) + +foreach(agent ceph rbd) + configure_file(${agent}.in + ${agent} @ONLY) + install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/${agent} + DESTINATION ${ra_dir}) +endforeach() + +foreach(agent osd mds mon) + install(CODE + "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink ceph ${agent} + WORKING_DIRECTORY \"${ra_dir}\")") +endforeach() -- 2.39.5