| set(CMAKE_INSTALL_DATADIR share) |
| |
| include(CMakePackageConfigHelpers) |
| |
| file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/pkg_a-config.cmake.in [[ |
| @PACKAGE_INIT@ |
| include("@PACKAGE_CMAKE_INSTALL_DATADIR@/pkg_a_included.cmake") |
| message(STATUS "Leaving pkg_a-config.cmake with PACKAGE_PREFIX_DIR = ${PACKAGE_PREFIX_DIR}") |
| ]]) |
| configure_package_config_file( |
| ${CMAKE_CURRENT_BINARY_DIR}/pkg_a-config.cmake.in |
| ${CMAKE_CURRENT_BINARY_DIR}/install_pkg_a/pkg_a-config.cmake |
| INSTALL_DESTINATION . |
| PATH_VARS CMAKE_INSTALL_DATADIR |
| ) |
| file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/install_pkg_a/share/pkg_a_included.cmake |
| [[message(STATUS "Hello from pkg_a")]] |
| ) |
| |
| file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/pkg_b-config.cmake.in [[ |
| @PACKAGE_INIT@ |
| include(CMakeFindDependencyMacro) |
| message(STATUS "Before find_dependency: PACKAGE_PREFIX_DIR = ${PACKAGE_PREFIX_DIR}") |
| find_dependency(pkg_a NO_DEFAULT_PATH |
| PATHS "@CMAKE_CURRENT_BINARY_DIR@/install_pkg_a" |
| ) |
| message(STATUS "After find_dependency: PACKAGE_PREFIX_DIR = ${PACKAGE_PREFIX_DIR}") |
| include("@PACKAGE_CMAKE_INSTALL_DATADIR@/pkg_b_included.cmake") |
| message(STATUS "Leaving pkg_b-config.cmake with PACKAGE_PREFIX_DIR = ${PACKAGE_PREFIX_DIR}") |
| ]]) |
| configure_package_config_file( |
| ${CMAKE_CURRENT_BINARY_DIR}/pkg_b-config.cmake.in |
| ${CMAKE_CURRENT_BINARY_DIR}/install_pkg_b/pkg_b-config.cmake |
| INSTALL_DESTINATION . |
| PATH_VARS CMAKE_INSTALL_DATADIR |
| ) |
| file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/install_pkg_b/share/pkg_b_included.cmake |
| [[message(STATUS "Hello from pkg_b")]] |
| ) |
| |
| find_package(pkg_b REQUIRED NO_DEFAULT_PATH |
| PATHS ${CMAKE_CURRENT_BINARY_DIR}/install_pkg_b |
| ) |