Merge remote-tracking branch 'upstream/pr/1240'

* upstream/pr/1240:
  cmake: allow to use package config from build directory
diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in
index 0285a6c..2e15f0c 100644
--- a/cmake/Config.cmake.in
+++ b/cmake/Config.cmake.in
@@ -1,3 +1,5 @@
+@PACKAGE_INIT@
+
 include (CMakeFindDependencyMacro)
 
 find_dependency (Threads)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index e72c640..315a285 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -64,7 +64,7 @@
 target_link_libraries(benchmark_main PUBLIC benchmark::benchmark)
 
 
-set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated")
+set(generated_dir "${PROJECT_BINARY_DIR}")
 
 set(version_config "${generated_dir}/${PROJECT_NAME}ConfigVersion.cmake")
 set(project_config "${generated_dir}/${PROJECT_NAME}Config.cmake")
@@ -74,11 +74,18 @@
 set(namespace "${PROJECT_NAME}::")
 
 include(CMakePackageConfigHelpers)
+
+configure_package_config_file (
+  ${PROJECT_SOURCE_DIR}/cmake/Config.cmake.in
+  ${project_config}
+  INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
+  NO_SET_AND_CHECK_MACRO
+  NO_CHECK_REQUIRED_COMPONENTS_MACRO
+)
 write_basic_package_version_file(
   "${version_config}" VERSION ${GENERIC_LIB_VERSION} COMPATIBILITY SameMajorVersion
 )
 
-configure_file("${PROJECT_SOURCE_DIR}/cmake/Config.cmake.in" "${project_config}" @ONLY)
 configure_file("${PROJECT_SOURCE_DIR}/cmake/benchmark.pc.in" "${pkg_config}" @ONLY)
 
 if (BENCHMARK_ENABLE_INSTALL)
@@ -114,4 +121,7 @@
       DIRECTORY "${PROJECT_SOURCE_DIR}/docs/"
       DESTINATION "${CMAKE_INSTALL_DOCDIR}")
   endif()
+
+  export (EXPORT ${targets_export_name} NAMESPACE "${namespace}"
+    FILE ${generated_dir}/${targets_export_name}.cmake)
 endif()