From c4dc0f4f56a018713ce9bb5f9ff24a362cda1ca6 Mon Sep 17 00:00:00 2001 From: Chris Freehill Date: Sun, 3 May 2020 22:34:14 -0500 Subject: [PATCH] Separate client/server packages, build_ scripts mods Change-Id: Ic553be523e7c6ae8ac930fa2126add45f33645b7 [ROCm/rdc commit: b6da10f1f4b9faea5a1aab0c2fc39b1c4b851ea0] --- projects/rdc/CMakeLists.txt | 40 +++++++++++----------------- projects/rdc/client/CMakeLists.txt | 13 +++------ projects/rdc/rdc_libs/CMakeLists.txt | 14 ++++------ projects/rdc/server/CMakeLists.txt | 22 +++++++-------- 4 files changed, 36 insertions(+), 53 deletions(-) diff --git a/projects/rdc/CMakeLists.txt b/projects/rdc/CMakeLists.txt index b2fe7f88ff..9d9879d2c6 100755 --- a/projects/rdc/CMakeLists.txt +++ b/projects/rdc/CMakeLists.txt @@ -31,8 +31,13 @@ set(RSMI_LIB_DIR ${ROCM_DIR}/rocm_smi/lib) if (NOT DEFINED GRPC_ROOT) set(GRPC_ROOT "/usr/local") endif() -if (NOT DEFINED RDC_CLIENT_ROOT_PATH) - set(RDC_CLIENT_ROOT_PATH "/opt/rocm/") +if (NOT DEFINED CPACK_PACKAGING_INSTALL_PREFIX) + set(CPACK_PACKAGING_INSTALL_PREFIX "/opt/rocm/" + CACHE STRING "Default packaging prefix.") +endif() +if (NOT DEFINED CMAKE_INSTALL_PREFIX) +set(CMAKE_INSTALL_PREFIX "/opt/rocm" + CACHE STRING "Default installation directory.") endif() if (NOT DEFINED RDC_SERVER_ROOT_PATH) @@ -68,17 +73,12 @@ set(${RDC}_VERSION_BUILD "0") ## RDC_lib-dev set(SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE STRING "Location of RDC source code.") -set(CMAKE_INSTALL_PREFIX "/" - CACHE STRING "Default installation directory.") -set(CPACK_PACKAGING_INSTALL_PREFIX "/" - CACHE STRING "Default packaging prefix.") set(CPACK_GENERATOR "DEB;RPM" CACHE STRING "Default packaging generators.") project(${RDC}) set(RDC_SRC_ROOT "${PROJECT_SOURCE_DIR}") - message("Build Configuration:") message("-----------GRPC ROOT: " ${GRPC_ROOT}) message("-----------ROCM_DIR : " ${ROCM_DIR}) @@ -120,7 +120,8 @@ set(GRPC_LIB_DIR "${GRPC_ROOT}/lib") set(ENV{LD_LIBRARY_PATH} ${GRPC_LIB_DIR}) foreach(file ${PROTOB_DEF_SRC_FILES}) execute_process(COMMAND - ${PROTOB_CMD} --proto_path=${PROTOB_SRC_DIR} --cpp_out=${PROTOB_OUT_DIR} ${file} + ${PROTOB_CMD} --proto_path=${PROTOB_SRC_DIR} + --cpp_out=${PROTOB_OUT_DIR} ${file} WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} RESULT_VARIABLE PROTOB_RESULT OUTPUT_VARIABLE PROTOB_OUT_VAR) @@ -134,7 +135,8 @@ foreach(file ${PROTOB_DEF_SRC_FILES}) message("....--plugin=\"${GRPC_PLUGIN}\" ${file}") execute_process(COMMAND - ${PROTOB_CMD} --proto_path=${PROTOB_SRC_DIR} --grpc_out=${PROTOB_OUT_DIR} + ${PROTOB_CMD} --proto_path=${PROTOB_SRC_DIR} + --grpc_out=${PROTOB_OUT_DIR} --plugin=protoc-gen-grpc=${GRPC_PLUGIN} ${file} WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} RESULT_VARIABLE PROTOB_RESULT @@ -144,14 +146,8 @@ foreach(file ${PROTOB_DEF_SRC_FILES}) endforeach() # define all the install component labels to install -set(SERVER_CTRL_COMPONENT "server_ctrl") -set(SERVER_BIN_COMPONENT "server_bin") -set(CLIENT_LIB_COMPONENT "client_lib") -set(CLIENT_HEADER_COMPONENT "client_header") -set(RDC_LIB_COMPONENT "rdc_lib") -set(RDC_HEADER_COMPONENT "rdc_header") -set(GTEST_COMPONENT "rdc_gtest") -set(EXAMPLE_COMPONENT "rdc_example") +set(SERVER_COMPONENT "rdc-server") +set(CLIENT_COMPONENT "rdc-client") add_subdirectory("server") add_subdirectory("client") @@ -160,11 +156,9 @@ add_subdirectory("example") add_subdirectory("rdci") # Turn on cmake "component install" -set(CPACK_ARCHIVE_COMPONENT_INSTALL ON) -set(CPACK_COMPONENTS_ALL ${SERVER_CTRL_COMPONENT} - ${SERVER_BIN_COMPONENT} ${CLIENT_LIB_COMPONENT} ${CLIENT_HEADER_COMPONENT} - ${RDC_LIB_COMPONENT} ${RDC_HEADER_COMPONENT}) - +set(CPACK_DEB_COMPONENT_INSTALL 1) +set(CPACK_RPM_COMPONENT_INSTALL 1) +set(CPACK_COMPONENTS_ALL ${SERVER_COMPONENT} ${CLIENT_COMPONENT}) configure_file( "${PROJECT_SOURCE_DIR}/src/DEBIAN_postinst.in" @@ -173,8 +167,6 @@ configure_file( "${PROJECT_SOURCE_DIR}/src/RPM_rpm_post.in" "${PROJECT_SOURCE_DIR}/RPM/rpm_post") - - # TODO set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ) set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/postinst; diff --git a/projects/rdc/client/CMakeLists.txt b/projects/rdc/client/CMakeLists.txt index 552fdcdaf9..a0a66f363e 100755 --- a/projects/rdc/client/CMakeLists.txt +++ b/projects/rdc/client/CMakeLists.txt @@ -66,7 +66,6 @@ include(utils) set(CLIENT_LIB "rdc_client_smi") set(RDC "rdc") -set(CLIENT_LIB_COMPONENT "lib${CLIENT_LIB}") set(SRC_DIR "${PROJECT_SOURCE_DIR}/client/src") set(RDC_CLIENT_INC_DIR "${PROJECT_SOURCE_DIR}/client/include/rdc") @@ -89,10 +88,6 @@ message("SOVERSION: ${SO_VERSION_STRING}") ## RDC_lib-dev set(SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE STRING "Location of RDC client library source code.") -set(CMAKE_INSTALL_PREFIX ${RDC_CLIENT_ROOT_PATH} - CACHE STRING "Default installation directory.") -set(CPACK_PACKAGING_INSTALL_PREFIX ${RDC_CLIENT_ROOT_PATH} - CACHE STRING "Default packaging prefix.") set(CPACK_GENERATOR "DEB;RPM" CACHE STRING "Default packaging generators.") if (NOT DEFINED CPACK_PACKAGE_VENDOR) @@ -163,11 +158,11 @@ endif () ## Add the install directives for the runtime library. install(TARGETS ${CLIENT_LIB} - LIBRARY DESTINATION ${RDC_CLIENT_ROOT_PATH}${RDC}/lib - COMPONENT ${CLIENT_LIB_COMPONENT}) + LIBRARY DESTINATION ${RDC}/lib + COMPONENT ${CLIENT_COMPONENT}) install(FILES ${SOURCE_DIR}/client/include/rdc/rdc_client.h - DESTINATION ${RDC_CLIENT_ROOT_PATH}${RDC}/include/rdc - COMPONENT ${CLIENT_HEADER_COMPONENT}) + DESTINATION ${RDC}/include/rdc + COMPONENT ${CLIENT_COMPONENT}) message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&") message(" Finished Cmake Client Lib ") diff --git a/projects/rdc/rdc_libs/CMakeLists.txt b/projects/rdc/rdc_libs/CMakeLists.txt index 425fac45dd..afdb3794a4 100755 --- a/projects/rdc/rdc_libs/CMakeLists.txt +++ b/projects/rdc/rdc_libs/CMakeLists.txt @@ -84,10 +84,6 @@ message("SOVERSION: ${SO_VERSION_STRING}") ## Define default variable and variables for the optional build target set(SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE STRING "Location of RDC library source code.") -set(CMAKE_INSTALL_PREFIX ${RDC_LIB_ROOT_PATH} - CACHE STRING "Default installation directory.") -set(CPACK_PACKAGING_INSTALL_PREFIX ${RDC_LIB_ROOT_PATH} - CACHE STRING "Default packaging prefix.") set(CPACK_GENERATOR "DEB;RPM" CACHE STRING "Default packaging generators.") if (NOT DEFINED CPACK_PACKAGE_VENDOR) @@ -141,7 +137,7 @@ set_property(TARGET ${BOOTSTRAP_LIB} PROPERTY # librdc.so set up set(RDC_LIB "rdc") -set(RDC_LIB_COMPONENT "lib${RDC_LIB}") +#set(RDC_LIB_COMPONENT "lib${RDC_LIB}") set(RDC_LIB_SRC_LIST ${RDC_LIB_SRC_LIST} "${SRC_DIR}/rdc/src/RdcEmbeddedHandler.cc") set(RDC_LIB_SRC_LIST ${RDC_LIB_SRC_LIST} "${SRC_DIR}/rdc/src/RdcMetricFetcherImpl.cc") set(RDC_LIB_SRC_LIST ${RDC_LIB_SRC_LIST} "${SRC_DIR}/rdc/src/RdcGroupSettingsImpl.cc") @@ -228,11 +224,11 @@ endif () ## Add the install directives for the runtime library. install(TARGETS ${BOOTSTRAP_LIB} ${RDC_LIB} ${RDCCLIENT_LIB} - LIBRARY DESTINATION ${RDC_LIB_ROOT_PATH}${RDC}/lib - COMPONENT ${RDCCLIENT_LIB_COMPONENT}) + LIBRARY DESTINATION ${RDC}/lib + COMPONENT ${CLIENT_COMPONENT}) install(FILES ${SOURCE_DIR}/include/rdc/rdc.h - DESTINATION ${RDC_LIB_ROOT_PATH}${RDC}/include/rdc - COMPONENT ${RDC_HEADER_COMPONENT}) + DESTINATION ${RDC}/include/rdc + COMPONENT ${CLIENT_COMPONENT}) message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&") message(" Finished Cmake RDC Lib ") diff --git a/projects/rdc/server/CMakeLists.txt b/projects/rdc/server/CMakeLists.txt index 9fabac9318..d7164bdbe4 100755 --- a/projects/rdc/server/CMakeLists.txt +++ b/projects/rdc/server/CMakeLists.txt @@ -23,9 +23,9 @@ # cmake_minimum_required(VERSION 3.5.0) -message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&") -message(" Cmake Server ") -message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&") +message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&") +message(" Cmake Server ") +message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&") message("") message("Build Configuration:") @@ -43,11 +43,11 @@ message("") set(SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE STRING "Location of RDC client library source code.") -# set(CMAKE_INSTALL_PREFIX "/" -# CACHE STRING "Default installation directory.") -# set(CPACK_PACKAGING_INSTALL_PREFIX "/" -# CACHE STRING "Default packaging prefix.") -# +set(CMAKE_INSTALL_PREFIX ${RDC_SERVER_ROOT_PATH} + CACHE STRING "Default installation directory.") +set(CPACK_PACKAGING_INSTALL_PREFIX ${RDC_SERVER_ROOT_PATH} + CACHE STRING "Default packaging prefix.") + ## Compiler flags set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -m64") @@ -93,16 +93,16 @@ add_executable(${SERVER_DAEMON_EXE} "${SERVER_SRC_LIST}") # target_include_directories(${SERVER_DAEMON_EXE} PUBLIC ${RSMI_INC_DIR}) target_link_libraries(${SERVER_DAEMON_EXE} pthread rt grpc grpc++ - cap grpc++_reflection dl protobuf rocm_smi64 rdc_bootstrap) + cap grpc++_reflection dl protobuf rocm_smi64 rdc_bootstrap) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${SERVER_DAEMON_EXE} PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE DESTINATION ${RDC_SERVER_ROOT_PATH}usr/sbin - COMPONENT ${SERVER_BIN_COMPONENT}) + COMPONENT ${SERVER_COMPONENT}) install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${SERVICE_FILE_NAME} DESTINATION ${RDC_SERVER_ROOT_PATH}lib/systemd/system - COMPONENT ${SERVER_CTRL_COMPONENT}) + COMPONENT ${SERVER_COMPONENT}) message("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&") message(" Finished Cmake Server ")