From 561bbc92ead2493fdb0c93090bbf95550762e84e Mon Sep 17 00:00:00 2001 From: "Jonathan R. Madsen" Date: Fri, 23 Feb 2024 10:17:58 -0600 Subject: [PATCH] Correct the install locations of cmake config files (#55) * Correct the install locations of cmake config files The cmake config files should be installed in /lib/cmake/ * Apply suggestions from code review * Correct the install locations of cmake config files - ROCm standard for cmake config files is /lib/cmake/ --------- Co-authored-by: Ranjith Ramakrishnan [ROCm/rocprofiler-register commit: 1f0d06b6cbbfdd188519d6e19f9a3bd9a4168278] --- .../cmake/Templates/modulefile.in | 2 +- .../cmake/Templates/setup-env.sh.in | 2 +- .../rocprofiler_register_config_install.cmake | 16 ++++++++-------- .../cmake/rocprofiler_register_options.cmake | 15 +++++++++++++++ 4 files changed, 25 insertions(+), 10 deletions(-) diff --git a/projects/rocprofiler-register/cmake/Templates/modulefile.in b/projects/rocprofiler-register/cmake/Templates/modulefile.in index 4b335a160e..66eea6e62a 100644 --- a/projects/rocprofiler-register/cmake/Templates/modulefile.in +++ b/projects/rocprofiler-register/cmake/Templates/modulefile.in @@ -13,4 +13,4 @@ prepend-path CMAKE_PREFIX_PATH "${ROOT}" prepend-path PATH "${ROOT}/bin" prepend-path LD_LIBRARY_PATH "${ROOT}/@CMAKE_INSTALL_LIBDIR@" prepend-path PYTHONPATH "${ROOT}/@CMAKE_INSTALL_PYTHONDIR@" -setenv @PROJECT_NAME_UNDERSCORED@_DIR "${ROOT}/@CMAKE_INSTALL_DATAROOTDIR@/cmake/@PROJECT_NAME_UNDERSCORED@" +setenv @PROJECT_NAME_UNDERSCORED@_DIR "${ROOT}/@CMAKE_INSTALL_LIBDIR@/cmake/@PROJECT_NAME@" diff --git a/projects/rocprofiler-register/cmake/Templates/setup-env.sh.in b/projects/rocprofiler-register/cmake/Templates/setup-env.sh.in index b6e449a582..900b875ed3 100644 --- a/projects/rocprofiler-register/cmake/Templates/setup-env.sh.in +++ b/projects/rocprofiler-register/cmake/Templates/setup-env.sh.in @@ -13,7 +13,7 @@ PATH=${BASEDIR}/bin:${PATH} LD_LIBRARY_PATH=${BASEDIR}/@CMAKE_INSTALL_LIBDIR@:${LD_LIBRARY_PATH} PYTHONPATH=${BASEDIR}/@CMAKE_INSTALL_PYTHONDIR@:${PYTHONPATH} CMAKE_PREFIX_PATH=${BASEDIR}:${CMAKE_PREFIX_PATH} -@PROJECT_NAME_UNDERSCORED@_DIR=${BASEDIR}/@CMAKE_INSTALL_DATAROOTDIR@/cmake/@PROJECT_NAME_UNDERSCORED@ +@PROJECT_NAME_UNDERSCORED@_DIR=${BASEDIR}/@CMAKE_INSTALL_LIBDIR@/cmake/@PROJECT_NAME@ export @PROJECT_NAME_UNDERSCORED@_ROOT export PATH diff --git a/projects/rocprofiler-register/cmake/rocprofiler_register_config_install.cmake b/projects/rocprofiler-register/cmake/rocprofiler_register_config_install.cmake index 7ad13776f2..d7493d9b47 100644 --- a/projects/rocprofiler-register/cmake/rocprofiler_register_config_install.cmake +++ b/projects/rocprofiler-register/cmake/rocprofiler_register_config_install.cmake @@ -7,7 +7,7 @@ install( EXPORT rocprofiler-register-library-targets FILE rocprofiler-register-library-targets.cmake NAMESPACE rocprofiler-register:: - DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cmake/rocprofiler-register + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} COMPONENT core) install( @@ -44,21 +44,21 @@ set(LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}) configure_package_config_file( ${PROJECT_SOURCE_DIR}/cmake/Templates/${PROJECT_NAME}-config.cmake.in - ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/cmake/${PROJECT_NAME}/${PROJECT_NAME}-config.cmake - INSTALL_DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cmake/rocprofiler-register + ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/${PROJECT_NAME}-config.cmake + INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/rocprofiler-register INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} PATH_VARS PROJECT_INSTALL_DIR INCLUDE_INSTALL_DIR LIB_INSTALL_DIR) write_basic_package_version_file( - ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/cmake/${PROJECT_NAME}/${PROJECT_NAME}-config-version.cmake + ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/${PROJECT_NAME}-config-version.cmake VERSION ${PROJECT_VERSION} COMPATIBILITY SameMinorVersion) install( FILES - ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/cmake/${PROJECT_NAME}/${PROJECT_NAME}-config.cmake - ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/cmake/${PROJECT_NAME}/${PROJECT_NAME}-config-version.cmake - DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/cmake/${PROJECT_NAME} + ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/${PROJECT_NAME}-config.cmake + ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/${PROJECT_NAME}-config-version.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} OPTIONAL) # ------------------------------------------------------------------------------# @@ -77,7 +77,7 @@ execute_process( ${PROJECT_BINARY_DIR}/include WORKING_DIRECTORY ${PROJECT_BINARY_DIR}) set(_BUILDTREE_EXPORT_DIR - "${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/cmake/rocprofiler-register") + "${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/cmake/rocprofiler-register") if(NOT EXISTS "${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}") file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}") diff --git a/projects/rocprofiler-register/cmake/rocprofiler_register_options.cmake b/projects/rocprofiler-register/cmake/rocprofiler_register_options.cmake index 5d4385769a..52ce6f955d 100644 --- a/projects/rocprofiler-register/cmake/rocprofiler_register_options.cmake +++ b/projects/rocprofiler-register/cmake/rocprofiler_register_options.cmake @@ -18,6 +18,11 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(ROCM_DEP_ROCMCORE + OFF + CACHE BOOL "DEB and RPM packages depend on rocm-core package") +mark_as_advanced(ROCM_DEP_ROCMCORE) + rocprofiler_register_add_option(ROCPROFILER_REGISTER_BUILD_TESTS "Enable building the tests" OFF) rocprofiler_register_add_option(ROCPROFILER_REGISTER_BUILD_SAMPLES @@ -31,6 +36,9 @@ rocprofiler_register_add_option( ${ROCPROFILER_REGISTER_BUILD_CI} ADVANCED) rocprofiler_register_add_option(ROCPROFILER_REGISTER_BUILD_GLOG "Build GLOG" ON) rocprofiler_register_add_option(ROCPROFILER_REGISTER_BUILD_FMT "Build FMT" ON) +rocprofiler_register_add_option( + ROCPROFILER_REGISTER_DEP_ROCMCORE "DEB and RPM package depend on rocm-core package" + ${ROCM_DEP_ROCMCORE}) # In the future, we will do this even with clang-tidy enabled if(ROCPROFILER_REGISTER_BUILD_CI AND NOT ROCPROFILER_REGISTER_ENABLE_CLANG_TIDY) @@ -46,6 +54,13 @@ if(ROCPROFILER_REGISTER_BUILD_CI AND NOT ROCPROFILER_REGISTER_ENABLE_CLANG_TIDY) FORCE) endif() +if(NOT ROCM_DEP_ROCMCORE EQUAL ROCPROFILER_REGISTER_DEP_ROCMCORE) + message( + AUTHOR_WARNING + "Conflicting option values: ROCM_DEP_ROCMCORE = ${ROCM_DEP_ROCMCORE} and ROCPROFILER_REGISTER_DEP_ROCMCORE = ${ROCPROFILER_REGISTER_DEP_ROCMCORE}" + ) +endif() + set(ROCPROFILER_REGISTER_BUILD_TYPES "Release" "RelWithDebInfo" "Debug" "MinSizeRel" "Coverage")