Verified Commit 755c6f35 authored by Alberto Miranda's avatar Alberto Miranda ♨️
Browse files

Ensure Cargo consumers can find installed targets

Directories `CMAKE_INSTALL_BINDIR` and `CMAKE_INSTALL_DATADIR` are now
exported as package variables `CARGO_BIN_INSTALL_DIR` and
`CARGO_DATA_INSTALL_DIR`. This allows consuming projects to retrieve
these values by using `find_package(cargo)`.
parent 7716a4c3
Loading
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -357,6 +357,11 @@ endif()
# using find_package()
# ##############################################################################

set(BIN_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}"
    CACHE PATH "Path where ${PROJECT_NAME} binaries will be installed")
set(DATA_INSTALL_DIR "${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}"
    CACHE PATH "Path where ${PROJECT_NAME} data files will be installed")

include(CMakePackageConfigHelpers)

configure_package_config_file(
@@ -364,6 +369,7 @@ configure_package_config_file(
  "${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config.cmake"
  INSTALL_DESTINATION
  "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}-${PROJECT_VERSION}"
  PATH_VARS BIN_INSTALL_DIR DATA_INSTALL_DIR
)

write_basic_package_version_file(
+4 −1
Original line number Diff line number Diff line
@@ -28,4 +28,7 @@ check_required_components("@PROJECT_NAME@")

include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Exports.cmake")

set_and_check(CARGO_BIN_INSTALL_DIR "@PACKAGE_BIN_INSTALL_DIR@")
set_and_check(CARGO_DATA_INSTALL_DIR "@PACKAGE_DATA_INSTALL_DIR@")

check_required_components("@PROJECT_NAME@")