diff --git a/projects/rdc/CMakeLists.txt b/projects/rdc/CMakeLists.txt index bd621d357f..97a3fc2c6e 100755 --- a/projects/rdc/CMakeLists.txt +++ b/projects/rdc/CMakeLists.txt @@ -306,27 +306,29 @@ add_subdirectory("rdc_libs") # Export the package for use from the build-tree # (this registers the build-tree with a global CMake-registry) export(PACKAGE rdc) -# Create the rdc-config.cmake and rdc-config-version files -# ... for the build tree -set(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}" "${PROJECT_BINARY_DIR}") -set(CONF_LIB_DIR "${PROJECT_BINARY_DIR}") + set(CONF_LIBS "librdc_bootstrap.so") -configure_file(cmake_modules/rdc-config.cmake.in - "${PROJECT_BINARY_DIR}/rdc-config.cmake" @ONLY) -# ... for the install tree -set(CONF_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}") set(CONF_LIB_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") -configure_file(cmake_modules/rdc-config.cmake.in - "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/rdc-config.cmake" @ONLY) -# ... for both +# Create the rdc-config.cmake and rdc-config-version files configure_file(cmake_modules/rdc-config-version.cmake.in "${PROJECT_BINARY_DIR}/rdc-config-version.cmake" @ONLY) + +include(CMakePackageConfigHelpers) +set(CONFIG_PACKAGE_INSTALL_DIR ${CONF_LIB_DIR}/cmake/${RDC}) +configure_package_config_file( + cmake_modules/rdc-config.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/rdc-config.cmake + INSTALL_DESTINATION ${CONFIG_PACKAGE_INSTALL_DIR} +) + + # Install the rdc-config.cmake and rdc-config-version.cmake install(FILES - "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/rdc-config.cmake" + "${PROJECT_BINARY_DIR}/rdc-config.cmake" "${PROJECT_BINARY_DIR}/rdc-config-version.cmake" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${RDC}" COMPONENT dev) + # Install the export set for use with the install-tree install(EXPORT rdcTargets DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${RDC}" COMPONENT dev) diff --git a/projects/rdc/cmake_modules/rdc-config.cmake.in b/projects/rdc/cmake_modules/rdc-config.cmake.in index bb0c231801..62e6836bef 100644 --- a/projects/rdc/cmake_modules/rdc-config.cmake.in +++ b/projects/rdc/cmake_modules/rdc-config.cmake.in @@ -3,10 +3,12 @@ # RDC_INCLUDE_DIRS - include directories for rdc # RDC_LIBRARIES - libraries to link against +@PACKAGE_INIT@ + # Compute paths get_filename_component(RDC_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) -set(ROCM_RDC_INCLUDE_DIR "@CONF_INCLUDE_DIRS@") -set(ROCM_RDC_LIB_DIR "@CONF_LIB_DIR@") +set(ROCM_RDC_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/${CMAKE_INSTALL_INCLUDEDIR}") +set(ROCM_RDC_LIB_DIR "${PACKAGE_PREFIX_DIR}/${CMAKE_INSTALL_LIBDIR}") # Our library dependencies (contains definitions for IMPORTED targets)