Browse Source

find_package: Fix PACKAGE_ROOT test to check find_pacakge(CONFIG) mode.

Chuck Atkins 8 years ago
parent
commit
9722ff5a6f

+ 443 - 91
Tests/RunCMake/find_package/PackageRoot-stderr.txt

@@ -1,18 +1,40 @@
+----------
 Foo_ROOT      :
 ENV{Foo_ROOT} :
+Bar_DIR       :.*/PackageRoot
+Bar_ROOT      :
+ENV{Bar_ROOT} :
+
+find_package(Foo)
 FOO_TEST_FILE_FOO :FOO_TEST_FILE_FOO-NOTFOUND
 FOO_TEST_FILE_ZOT :FOO_TEST_FILE_ZOT-NOTFOUND
 FOO_TEST_PATH_FOO :FOO_TEST_PATH_FOO-NOTFOUND
 FOO_TEST_PATH_ZOT :FOO_TEST_PATH_ZOT-NOTFOUND
 FOO_TEST_PROG_FOO :FOO_TEST_PROG_FOO-NOTFOUND
 
-Foo_ROOT      :
-ENV{Foo_ROOT} :
-Bar_ROOT      :
-ENV{Bar_ROOT} :
+find_package(Foo COMPONENTS BarModule)
+FOO_TEST_FILE_FOO :FOO_TEST_FILE_FOO-NOTFOUND
+FOO_TEST_FILE_ZOT :FOO_TEST_FILE_ZOT-NOTFOUND
+FOO_TEST_PATH_FOO :FOO_TEST_PATH_FOO-NOTFOUND
+FOO_TEST_PATH_ZOT :FOO_TEST_PATH_ZOT-NOTFOUND
+FOO_TEST_PROG_FOO :FOO_TEST_PROG_FOO-NOTFOUND
+BAR_CMAKE_FILE    :.*/PackageRoot/FindBar.cmake
+BAR_TEST_FILE_FOO :BAR_TEST_FILE_FOO-NOTFOUND
+BAR_TEST_FILE_BAR :BAR_TEST_FILE_BAR-NOTFOUND
+BAR_TEST_FILE_ZOT :BAR_TEST_FILE_ZOT-NOTFOUND
+BAR_TEST_PATH_FOO :BAR_TEST_PATH_FOO-NOTFOUND
+BAR_TEST_PATH_BAR :BAR_TEST_PATH_BAR-NOTFOUND
+BAR_TEST_PATH_ZOT :BAR_TEST_PATH_ZOT-NOTFOUND
+BAR_TEST_PROG_FOO :BAR_TEST_PROG_FOO-NOTFOUND
+BAR_TEST_PROG_BAR :BAR_TEST_PROG_BAR-NOTFOUND
+
+find_package(Foo COMPONENTS BarConfig)
 FOO_TEST_FILE_FOO :FOO_TEST_FILE_FOO-NOTFOUND
+FOO_TEST_FILE_ZOT :FOO_TEST_FILE_ZOT-NOTFOUND
 FOO_TEST_PATH_FOO :FOO_TEST_PATH_FOO-NOTFOUND
+FOO_TEST_PATH_ZOT :FOO_TEST_PATH_ZOT-NOTFOUND
 FOO_TEST_PROG_FOO :FOO_TEST_PROG_FOO-NOTFOUND
+BAR_CMAKE_FILE    :.*/PackageRoot/BarConfig.cmake
 BAR_TEST_FILE_FOO :BAR_TEST_FILE_FOO-NOTFOUND
 BAR_TEST_FILE_BAR :BAR_TEST_FILE_BAR-NOTFOUND
 BAR_TEST_FILE_ZOT :BAR_TEST_FILE_ZOT-NOTFOUND
@@ -22,21 +44,27 @@ BAR_TEST_PATH_ZOT :BAR_TEST_PATH_ZOT-NOTFOUND
 BAR_TEST_PROG_FOO :BAR_TEST_PROG_FOO-NOTFOUND
 BAR_TEST_PROG_BAR :BAR_TEST_PROG_BAR-NOTFOUND
 
+----------
 Foo_ROOT      :.*/PackageRoot/foo/cmake_root
 ENV{Foo_ROOT} :
+Bar_DIR       :
+Bar_ROOT      :
+ENV{Bar_ROOT} :
+
+find_package(Foo)
 FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
 FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
 FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
 FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
 FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
 
-Foo_ROOT      :.*/PackageRoot/foo/cmake_root
-ENV{Foo_ROOT} :
-Bar_ROOT      :
-ENV{Bar_ROOT} :
+find_package(Foo COMPONENTS BarModule)
 FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
 FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
 FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/FindBar.cmake
 BAR_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
 BAR_TEST_FILE_BAR :.*/PackageRoot/foo/cmake_root/include/bar.h
 BAR_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
@@ -46,45 +74,89 @@ BAR_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
 BAR_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
 BAR_TEST_PROG_BAR :.*/PackageRoot/foo/cmake_root/bin/bar.exe
 
-Foo_ROOT      :
-ENV{Foo_ROOT} :.*/PackageRoot/foo/env_root
-FOO_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
+find_package(Foo COMPONENTS BarConfig)
+FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
 FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
-FOO_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
+FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
 FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
-FOO_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
+FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/foo/cmake_root/cmake/BarConfig.cmake
+BAR_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
+BAR_TEST_FILE_BAR :.*/PackageRoot/foo/cmake_root/include/bar.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
+BAR_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
+BAR_TEST_PATH_BAR :.*/PackageRoot/foo/cmake_root/include
+BAR_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
+BAR_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_TEST_PROG_BAR :.*/PackageRoot/foo/cmake_root/bin/bar.exe
 
+----------
 Foo_ROOT      :
 ENV{Foo_ROOT} :.*/PackageRoot/foo/env_root
+Bar_DIR       :
 Bar_ROOT      :
 ENV{Bar_ROOT} :
+
+find_package(Foo)
 FOO_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/env_root/include/zot/zot.h
 FOO_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/env_root/include/zot
 FOO_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
+
+find_package(Foo COMPONENTS BarModule)
+FOO_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/env_root/include/zot/zot.h
+FOO_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/env_root/include/zot
+FOO_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/FindBar.cmake
 BAR_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
 BAR_TEST_FILE_BAR :.*/PackageRoot/foo/env_root/include/bar.h
-BAR_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/foo/env_root/include/zot/zot.h
 BAR_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
 BAR_TEST_PATH_BAR :.*/PackageRoot/foo/env_root/include
-BAR_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
+BAR_TEST_PATH_ZOT :.*/PackageRoot/foo/env_root/include/zot
 BAR_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
 BAR_TEST_PROG_BAR :.*/PackageRoot/foo/env_root/bin/bar.exe
 
+find_package(Foo COMPONENTS BarConfig)
+FOO_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/env_root/include/zot/zot.h
+FOO_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/env_root/include/zot
+FOO_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/foo/env_root/cmake/BarConfig.cmake
+BAR_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
+BAR_TEST_FILE_BAR :.*/PackageRoot/foo/env_root/include/bar.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/foo/env_root/include/zot/zot.h
+BAR_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
+BAR_TEST_PATH_BAR :.*/PackageRoot/foo/env_root/include
+BAR_TEST_PATH_ZOT :.*/PackageRoot/foo/env_root/include/zot
+BAR_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
+BAR_TEST_PROG_BAR :.*/PackageRoot/foo/env_root/bin/bar.exe
+
+----------
 Foo_ROOT      :.*/PackageRoot/foo/cmake_root
 ENV{Foo_ROOT} :.*/PackageRoot/foo/env_root
+Bar_DIR       :
+Bar_ROOT      :
+ENV{Bar_ROOT} :
+
+find_package(Foo)
 FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
 FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
 FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
 FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
 FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
 
-Foo_ROOT      :.*/PackageRoot/foo/cmake_root
-ENV{Foo_ROOT} :.*/PackageRoot/foo/env_root
-Bar_ROOT      :
-ENV{Bar_ROOT} :
+find_package(Foo COMPONENTS BarModule)
 FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
 FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
 FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/FindBar.cmake
 BAR_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
 BAR_TEST_FILE_BAR :.*/PackageRoot/foo/cmake_root/include/bar.h
 BAR_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
@@ -94,290 +166,570 @@ BAR_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
 BAR_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
 BAR_TEST_PROG_BAR :.*/PackageRoot/foo/cmake_root/bin/bar.exe
 
-Foo_ROOT      :
-ENV{Foo_ROOT} :
-FOO_TEST_FILE_FOO :FOO_TEST_FILE_FOO-NOTFOUND
+find_package(Foo COMPONENTS BarConfig)
+FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
 FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
-FOO_TEST_PATH_FOO :FOO_TEST_PATH_FOO-NOTFOUND
+FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
 FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
-FOO_TEST_PROG_FOO :FOO_TEST_PROG_FOO-NOTFOUND
+FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/foo/cmake_root/cmake/BarConfig.cmake
+BAR_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
+BAR_TEST_FILE_BAR :.*/PackageRoot/foo/cmake_root/include/bar.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
+BAR_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
+BAR_TEST_PATH_BAR :.*/PackageRoot/foo/cmake_root/include
+BAR_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
+BAR_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_TEST_PROG_BAR :.*/PackageRoot/foo/cmake_root/bin/bar.exe
 
+----------
 Foo_ROOT      :
 ENV{Foo_ROOT} :
+Bar_DIR       :.*/PackageRoot
 Bar_ROOT      :.*/PackageRoot/bar/cmake_root
 ENV{Bar_ROOT} :
+
+find_package(Foo)
 FOO_TEST_FILE_FOO :FOO_TEST_FILE_FOO-NOTFOUND
+FOO_TEST_FILE_ZOT :FOO_TEST_FILE_ZOT-NOTFOUND
+FOO_TEST_PATH_FOO :FOO_TEST_PATH_FOO-NOTFOUND
+FOO_TEST_PATH_ZOT :FOO_TEST_PATH_ZOT-NOTFOUND
+FOO_TEST_PROG_FOO :FOO_TEST_PROG_FOO-NOTFOUND
+
+find_package(Foo COMPONENTS BarModule)
+FOO_TEST_FILE_FOO :FOO_TEST_FILE_FOO-NOTFOUND
+FOO_TEST_FILE_ZOT :FOO_TEST_FILE_ZOT-NOTFOUND
 FOO_TEST_PATH_FOO :FOO_TEST_PATH_FOO-NOTFOUND
+FOO_TEST_PATH_ZOT :FOO_TEST_PATH_ZOT-NOTFOUND
 FOO_TEST_PROG_FOO :FOO_TEST_PROG_FOO-NOTFOUND
+BAR_CMAKE_FILE    :.*/PackageRoot/FindBar.cmake
 BAR_TEST_FILE_FOO :BAR_TEST_FILE_FOO-NOTFOUND
 BAR_TEST_FILE_BAR :.*/PackageRoot/bar/cmake_root/include/bar.h
-BAR_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/cmake_root/include/zot/zot.h
 BAR_TEST_PATH_FOO :BAR_TEST_PATH_FOO-NOTFOUND
 BAR_TEST_PATH_BAR :.*/PackageRoot/bar/cmake_root/include
-BAR_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/cmake_root/include/zot
 BAR_TEST_PROG_FOO :BAR_TEST_PROG_FOO-NOTFOUND
 BAR_TEST_PROG_BAR :.*/PackageRoot/bar/cmake_root/bin/bar.exe
 
-Foo_ROOT      :
-ENV{Foo_ROOT} :
+find_package(Foo COMPONENTS BarConfig)
 FOO_TEST_FILE_FOO :FOO_TEST_FILE_FOO-NOTFOUND
-FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
+FOO_TEST_FILE_ZOT :FOO_TEST_FILE_ZOT-NOTFOUND
 FOO_TEST_PATH_FOO :FOO_TEST_PATH_FOO-NOTFOUND
-FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
+FOO_TEST_PATH_ZOT :FOO_TEST_PATH_ZOT-NOTFOUND
 FOO_TEST_PROG_FOO :FOO_TEST_PROG_FOO-NOTFOUND
+BAR_CMAKE_FILE    :.*/PackageRoot/BarConfig.cmake
+BAR_TEST_FILE_FOO :BAR_TEST_FILE_FOO-NOTFOUND
+BAR_TEST_FILE_BAR :.*/PackageRoot/bar/cmake_root/include/bar.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/cmake_root/include/zot/zot.h
+BAR_TEST_PATH_FOO :BAR_TEST_PATH_FOO-NOTFOUND
+BAR_TEST_PATH_BAR :.*/PackageRoot/bar/cmake_root/include
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/cmake_root/include/zot
+BAR_TEST_PROG_FOO :BAR_TEST_PROG_FOO-NOTFOUND
+BAR_TEST_PROG_BAR :.*/PackageRoot/bar/cmake_root/bin/bar.exe
 
+----------
 Foo_ROOT      :
 ENV{Foo_ROOT} :
+Bar_DIR       :.*/PackageRoot
 Bar_ROOT      :
 ENV{Bar_ROOT} :.*/PackageRoot/bar/env_root
+
+find_package(Foo)
 FOO_TEST_FILE_FOO :FOO_TEST_FILE_FOO-NOTFOUND
+FOO_TEST_FILE_ZOT :FOO_TEST_FILE_ZOT-NOTFOUND
 FOO_TEST_PATH_FOO :FOO_TEST_PATH_FOO-NOTFOUND
+FOO_TEST_PATH_ZOT :FOO_TEST_PATH_ZOT-NOTFOUND
 FOO_TEST_PROG_FOO :FOO_TEST_PROG_FOO-NOTFOUND
+
+find_package(Foo COMPONENTS BarModule)
+FOO_TEST_FILE_FOO :FOO_TEST_FILE_FOO-NOTFOUND
+FOO_TEST_FILE_ZOT :FOO_TEST_FILE_ZOT-NOTFOUND
+FOO_TEST_PATH_FOO :FOO_TEST_PATH_FOO-NOTFOUND
+FOO_TEST_PATH_ZOT :FOO_TEST_PATH_ZOT-NOTFOUND
+FOO_TEST_PROG_FOO :FOO_TEST_PROG_FOO-NOTFOUND
+BAR_CMAKE_FILE    :.*/PackageRoot/FindBar.cmake
 BAR_TEST_FILE_FOO :BAR_TEST_FILE_FOO-NOTFOUND
 BAR_TEST_FILE_BAR :.*/PackageRoot/bar/env_root/include/bar.h
-BAR_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/env_root/include/zot/zot.h
 BAR_TEST_PATH_FOO :BAR_TEST_PATH_FOO-NOTFOUND
 BAR_TEST_PATH_BAR :.*/PackageRoot/bar/env_root/include
-BAR_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/env_root/include/zot
 BAR_TEST_PROG_FOO :BAR_TEST_PROG_FOO-NOTFOUND
 BAR_TEST_PROG_BAR :.*/PackageRoot/bar/env_root/bin/bar.exe
 
-Foo_ROOT      :
-ENV{Foo_ROOT} :
+find_package(Foo COMPONENTS BarConfig)
 FOO_TEST_FILE_FOO :FOO_TEST_FILE_FOO-NOTFOUND
-FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
+FOO_TEST_FILE_ZOT :FOO_TEST_FILE_ZOT-NOTFOUND
 FOO_TEST_PATH_FOO :FOO_TEST_PATH_FOO-NOTFOUND
-FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
+FOO_TEST_PATH_ZOT :FOO_TEST_PATH_ZOT-NOTFOUND
 FOO_TEST_PROG_FOO :FOO_TEST_PROG_FOO-NOTFOUND
+BAR_CMAKE_FILE    :.*/PackageRoot/BarConfig.cmake
+BAR_TEST_FILE_FOO :BAR_TEST_FILE_FOO-NOTFOUND
+BAR_TEST_FILE_BAR :.*/PackageRoot/bar/env_root/include/bar.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/env_root/include/zot/zot.h
+BAR_TEST_PATH_FOO :BAR_TEST_PATH_FOO-NOTFOUND
+BAR_TEST_PATH_BAR :.*/PackageRoot/bar/env_root/include
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/env_root/include/zot
+BAR_TEST_PROG_FOO :BAR_TEST_PROG_FOO-NOTFOUND
+BAR_TEST_PROG_BAR :.*/PackageRoot/bar/env_root/bin/bar.exe
 
+----------
 Foo_ROOT      :
 ENV{Foo_ROOT} :
+Bar_DIR       :.*/PackageRoot
 Bar_ROOT      :.*/PackageRoot/bar/cmake_root
 ENV{Bar_ROOT} :.*/PackageRoot/bar/env_root
+
+find_package(Foo)
+FOO_TEST_FILE_FOO :FOO_TEST_FILE_FOO-NOTFOUND
+FOO_TEST_FILE_ZOT :FOO_TEST_FILE_ZOT-NOTFOUND
+FOO_TEST_PATH_FOO :FOO_TEST_PATH_FOO-NOTFOUND
+FOO_TEST_PATH_ZOT :FOO_TEST_PATH_ZOT-NOTFOUND
+FOO_TEST_PROG_FOO :FOO_TEST_PROG_FOO-NOTFOUND
+
+find_package(Foo COMPONENTS BarModule)
 FOO_TEST_FILE_FOO :FOO_TEST_FILE_FOO-NOTFOUND
+FOO_TEST_FILE_ZOT :FOO_TEST_FILE_ZOT-NOTFOUND
 FOO_TEST_PATH_FOO :FOO_TEST_PATH_FOO-NOTFOUND
+FOO_TEST_PATH_ZOT :FOO_TEST_PATH_ZOT-NOTFOUND
 FOO_TEST_PROG_FOO :FOO_TEST_PROG_FOO-NOTFOUND
+BAR_CMAKE_FILE    :.*/PackageRoot/FindBar.cmake
 BAR_TEST_FILE_FOO :BAR_TEST_FILE_FOO-NOTFOUND
 BAR_TEST_FILE_BAR :.*/PackageRoot/bar/cmake_root/include/bar.h
-BAR_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/cmake_root/include/zot/zot.h
 BAR_TEST_PATH_FOO :BAR_TEST_PATH_FOO-NOTFOUND
 BAR_TEST_PATH_BAR :.*/PackageRoot/bar/cmake_root/include
-BAR_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/cmake_root/include/zot
 BAR_TEST_PROG_FOO :BAR_TEST_PROG_FOO-NOTFOUND
 BAR_TEST_PROG_BAR :.*/PackageRoot/bar/cmake_root/bin/bar.exe
 
+find_package(Foo COMPONENTS BarConfig)
+FOO_TEST_FILE_FOO :FOO_TEST_FILE_FOO-NOTFOUND
+FOO_TEST_FILE_ZOT :FOO_TEST_FILE_ZOT-NOTFOUND
+FOO_TEST_PATH_FOO :FOO_TEST_PATH_FOO-NOTFOUND
+FOO_TEST_PATH_ZOT :FOO_TEST_PATH_ZOT-NOTFOUND
+FOO_TEST_PROG_FOO :FOO_TEST_PROG_FOO-NOTFOUND
+BAR_CMAKE_FILE    :.*/PackageRoot/BarConfig.cmake
+BAR_TEST_FILE_FOO :BAR_TEST_FILE_FOO-NOTFOUND
+BAR_TEST_FILE_BAR :.*/PackageRoot/bar/cmake_root/include/bar.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/cmake_root/include/zot/zot.h
+BAR_TEST_PATH_FOO :BAR_TEST_PATH_FOO-NOTFOUND
+BAR_TEST_PATH_BAR :.*/PackageRoot/bar/cmake_root/include
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/cmake_root/include/zot
+BAR_TEST_PROG_FOO :BAR_TEST_PROG_FOO-NOTFOUND
+BAR_TEST_PROG_BAR :.*/PackageRoot/bar/cmake_root/bin/bar.exe
+
+----------
 Foo_ROOT      :.*/PackageRoot/foo/cmake_root
 ENV{Foo_ROOT} :
+Bar_DIR       :
+Bar_ROOT      :.*/PackageRoot/bar/cmake_root
+ENV{Bar_ROOT} :
+
+find_package(Foo)
 FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
 FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
 FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
 FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
 FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
 
-Foo_ROOT      :.*/PackageRoot/foo/cmake_root
-ENV{Foo_ROOT} :
-Bar_ROOT      :.*/PackageRoot/bar/cmake_root
-ENV{Bar_ROOT} :
+find_package(Foo COMPONENTS BarModule)
 FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
 FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
 FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/FindBar.cmake
 BAR_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
 BAR_TEST_FILE_BAR :.*/PackageRoot/bar/cmake_root/include/bar.h
-BAR_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/cmake_root/include/zot/zot.h
 BAR_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
 BAR_TEST_PATH_BAR :.*/PackageRoot/bar/cmake_root/include
-BAR_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/cmake_root/include/zot
 BAR_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
 BAR_TEST_PROG_BAR :.*/PackageRoot/bar/cmake_root/bin/bar.exe
 
-Foo_ROOT      :
-ENV{Foo_ROOT} :.*/PackageRoot/foo/env_root
-FOO_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
+find_package(Foo COMPONENTS BarConfig)
+FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
 FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
-FOO_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
+FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
 FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
-FOO_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
+FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/foo/cmake_root/cmake/BarConfig.cmake
+BAR_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
+BAR_TEST_FILE_BAR :.*/PackageRoot/bar/cmake_root/include/bar.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/cmake_root/include/zot/zot.h
+BAR_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
+BAR_TEST_PATH_BAR :.*/PackageRoot/bar/cmake_root/include
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/cmake_root/include/zot
+BAR_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_TEST_PROG_BAR :.*/PackageRoot/bar/cmake_root/bin/bar.exe
 
+----------
 Foo_ROOT      :
 ENV{Foo_ROOT} :.*/PackageRoot/foo/env_root
+Bar_DIR       :
 Bar_ROOT      :.*/PackageRoot/bar/cmake_root
 ENV{Bar_ROOT} :
+
+find_package(Foo)
+FOO_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/env_root/include/zot/zot.h
+FOO_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/env_root/include/zot
+FOO_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
+
+find_package(Foo COMPONENTS BarModule)
 FOO_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/env_root/include/zot/zot.h
 FOO_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/env_root/include/zot
 FOO_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/FindBar.cmake
 BAR_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
 BAR_TEST_FILE_BAR :.*/PackageRoot/bar/cmake_root/include/bar.h
-BAR_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/cmake_root/include/zot/zot.h
 BAR_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
 BAR_TEST_PATH_BAR :.*/PackageRoot/bar/cmake_root/include
-BAR_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/cmake_root/include/zot
+BAR_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
+BAR_TEST_PROG_BAR :.*/PackageRoot/bar/cmake_root/bin/bar.exe
+
+find_package(Foo COMPONENTS BarConfig)
+FOO_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/env_root/include/zot/zot.h
+FOO_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/env_root/include/zot
+FOO_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/foo/env_root/cmake/BarConfig.cmake
+BAR_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
+BAR_TEST_FILE_BAR :.*/PackageRoot/bar/cmake_root/include/bar.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/cmake_root/include/zot/zot.h
+BAR_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
+BAR_TEST_PATH_BAR :.*/PackageRoot/bar/cmake_root/include
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/cmake_root/include/zot
 BAR_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
 BAR_TEST_PROG_BAR :.*/PackageRoot/bar/cmake_root/bin/bar.exe
 
+----------
 Foo_ROOT      :.*/PackageRoot/foo/cmake_root
 ENV{Foo_ROOT} :.*/PackageRoot/foo/env_root
+Bar_DIR       :
+Bar_ROOT      :.*/PackageRoot/bar/cmake_root
+ENV{Bar_ROOT} :
+
+find_package(Foo)
 FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
 FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
 FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
 FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
 FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
 
-Foo_ROOT      :.*/PackageRoot/foo/cmake_root
-ENV{Foo_ROOT} :.*/PackageRoot/foo/env_root
-Bar_ROOT      :.*/PackageRoot/bar/cmake_root
-ENV{Bar_ROOT} :
+find_package(Foo COMPONENTS BarModule)
 FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
 FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
 FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/FindBar.cmake
 BAR_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
 BAR_TEST_FILE_BAR :.*/PackageRoot/bar/cmake_root/include/bar.h
-BAR_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/cmake_root/include/zot/zot.h
 BAR_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
 BAR_TEST_PATH_BAR :.*/PackageRoot/bar/cmake_root/include
-BAR_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/cmake_root/include/zot
 BAR_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
 BAR_TEST_PROG_BAR :.*/PackageRoot/bar/cmake_root/bin/bar.exe
 
-Foo_ROOT      :.*/PackageRoot/foo/cmake_root
-ENV{Foo_ROOT} :
+find_package(Foo COMPONENTS BarConfig)
 FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
 FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
 FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
 FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
 FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/foo/cmake_root/cmake/BarConfig.cmake
+BAR_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
+BAR_TEST_FILE_BAR :.*/PackageRoot/bar/cmake_root/include/bar.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/cmake_root/include/zot/zot.h
+BAR_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
+BAR_TEST_PATH_BAR :.*/PackageRoot/bar/cmake_root/include
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/cmake_root/include/zot
+BAR_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_TEST_PROG_BAR :.*/PackageRoot/bar/cmake_root/bin/bar.exe
 
+----------
 Foo_ROOT      :.*/PackageRoot/foo/cmake_root
 ENV{Foo_ROOT} :
+Bar_DIR       :
 Bar_ROOT      :
 ENV{Bar_ROOT} :.*/PackageRoot/bar/env_root
+
+find_package(Foo)
 FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
+FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
+FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+
+find_package(Foo COMPONENTS BarModule)
+FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
 FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
 FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/FindBar.cmake
 BAR_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
 BAR_TEST_FILE_BAR :.*/PackageRoot/bar/env_root/include/bar.h
-BAR_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/env_root/include/zot/zot.h
 BAR_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
 BAR_TEST_PATH_BAR :.*/PackageRoot/bar/env_root/include
-BAR_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/env_root/include/zot
 BAR_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
 BAR_TEST_PROG_BAR :.*/PackageRoot/bar/env_root/bin/bar.exe
 
-Foo_ROOT      :
-ENV{Foo_ROOT} :.*/PackageRoot/foo/env_root
-FOO_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
+find_package(Foo COMPONENTS BarConfig)
+FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
 FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
-FOO_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
+FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
 FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
-FOO_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
+FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/foo/cmake_root/cmake/BarConfig.cmake
+BAR_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
+BAR_TEST_FILE_BAR :.*/PackageRoot/bar/env_root/include/bar.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/env_root/include/zot/zot.h
+BAR_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
+BAR_TEST_PATH_BAR :.*/PackageRoot/bar/env_root/include
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/env_root/include/zot
+BAR_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_TEST_PROG_BAR :.*/PackageRoot/bar/env_root/bin/bar.exe
 
+----------
 Foo_ROOT      :
 ENV{Foo_ROOT} :.*/PackageRoot/foo/env_root
+Bar_DIR       :
 Bar_ROOT      :
 ENV{Bar_ROOT} :.*/PackageRoot/bar/env_root
+
+find_package(Foo)
+FOO_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/env_root/include/zot/zot.h
+FOO_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/env_root/include/zot
+FOO_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
+
+find_package(Foo COMPONENTS BarModule)
 FOO_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/env_root/include/zot/zot.h
 FOO_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/env_root/include/zot
 FOO_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/FindBar.cmake
 BAR_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
 BAR_TEST_FILE_BAR :.*/PackageRoot/bar/env_root/include/bar.h
-BAR_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/env_root/include/zot/zot.h
 BAR_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
 BAR_TEST_PATH_BAR :.*/PackageRoot/bar/env_root/include
-BAR_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/env_root/include/zot
 BAR_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
 BAR_TEST_PROG_BAR :.*/PackageRoot/bar/env_root/bin/bar.exe
 
+find_package(Foo COMPONENTS BarConfig)
+FOO_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/env_root/include/zot/zot.h
+FOO_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/env_root/include/zot
+FOO_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/foo/env_root/cmake/BarConfig.cmake
+BAR_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
+BAR_TEST_FILE_BAR :.*/PackageRoot/bar/env_root/include/bar.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/env_root/include/zot/zot.h
+BAR_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
+BAR_TEST_PATH_BAR :.*/PackageRoot/bar/env_root/include
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/env_root/include/zot
+BAR_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
+BAR_TEST_PROG_BAR :.*/PackageRoot/bar/env_root/bin/bar.exe
+
+----------
 Foo_ROOT      :.*/PackageRoot/foo/cmake_root
 ENV{Foo_ROOT} :.*/PackageRoot/foo/env_root
+Bar_DIR       :
+Bar_ROOT      :
+ENV{Bar_ROOT} :.*/PackageRoot/bar/env_root
+
+find_package(Foo)
 FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
 FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
 FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
 FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
 FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
 
-Foo_ROOT      :.*/PackageRoot/foo/cmake_root
-ENV{Foo_ROOT} :.*/PackageRoot/foo/env_root
-Bar_ROOT      :
-ENV{Bar_ROOT} :.*/PackageRoot/bar/env_root
+find_package(Foo COMPONENTS BarModule)
 FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
 FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
 FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/FindBar.cmake
 BAR_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
 BAR_TEST_FILE_BAR :.*/PackageRoot/bar/env_root/include/bar.h
-BAR_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/env_root/include/zot/zot.h
 BAR_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
 BAR_TEST_PATH_BAR :.*/PackageRoot/bar/env_root/include
-BAR_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/env_root/include/zot
 BAR_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
 BAR_TEST_PROG_BAR :.*/PackageRoot/bar/env_root/bin/bar.exe
 
-Foo_ROOT      :.*/PackageRoot/foo/cmake_root
-ENV{Foo_ROOT} :
+find_package(Foo COMPONENTS BarConfig)
 FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
 FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
 FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
 FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
 FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/foo/cmake_root/cmake/BarConfig.cmake
+BAR_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
+BAR_TEST_FILE_BAR :.*/PackageRoot/bar/env_root/include/bar.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/env_root/include/zot/zot.h
+BAR_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
+BAR_TEST_PATH_BAR :.*/PackageRoot/bar/env_root/include
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/env_root/include/zot
+BAR_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_TEST_PROG_BAR :.*/PackageRoot/bar/env_root/bin/bar.exe
 
+----------
 Foo_ROOT      :.*/PackageRoot/foo/cmake_root
 ENV{Foo_ROOT} :
+Bar_DIR       :
 Bar_ROOT      :.*/PackageRoot/bar/cmake_root
 ENV{Bar_ROOT} :.*/PackageRoot/bar/env_root
+
+find_package(Foo)
 FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
 FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
 FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+
+find_package(Foo COMPONENTS BarModule)
+FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
+FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
+FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/FindBar.cmake
 BAR_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
 BAR_TEST_FILE_BAR :.*/PackageRoot/bar/cmake_root/include/bar.h
-BAR_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/cmake_root/include/zot/zot.h
 BAR_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
 BAR_TEST_PATH_BAR :.*/PackageRoot/bar/cmake_root/include
-BAR_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/cmake_root/include/zot
 BAR_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
 BAR_TEST_PROG_BAR :.*/PackageRoot/bar/cmake_root/bin/bar.exe
 
-Foo_ROOT      :
-ENV{Foo_ROOT} :.*/PackageRoot/foo/env_root
-FOO_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
+find_package(Foo COMPONENTS BarConfig)
+FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
 FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
-FOO_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
+FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
 FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
-FOO_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
+FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/foo/cmake_root/cmake/BarConfig.cmake
+BAR_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
+BAR_TEST_FILE_BAR :.*/PackageRoot/bar/cmake_root/include/bar.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/cmake_root/include/zot/zot.h
+BAR_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
+BAR_TEST_PATH_BAR :.*/PackageRoot/bar/cmake_root/include
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/cmake_root/include/zot
+BAR_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_TEST_PROG_BAR :.*/PackageRoot/bar/cmake_root/bin/bar.exe
 
+----------
 Foo_ROOT      :
 ENV{Foo_ROOT} :.*/PackageRoot/foo/env_root
+Bar_DIR       :
 Bar_ROOT      :.*/PackageRoot/bar/cmake_root
 ENV{Bar_ROOT} :.*/PackageRoot/bar/env_root
+
+find_package(Foo)
 FOO_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/env_root/include/zot/zot.h
 FOO_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/env_root/include/zot
 FOO_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
+
+find_package(Foo COMPONENTS BarModule)
+FOO_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/env_root/include/zot/zot.h
+FOO_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/env_root/include/zot
+FOO_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/FindBar.cmake
 BAR_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
 BAR_TEST_FILE_BAR :.*/PackageRoot/bar/cmake_root/include/bar.h
-BAR_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/cmake_root/include/zot/zot.h
 BAR_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
 BAR_TEST_PATH_BAR :.*/PackageRoot/bar/cmake_root/include
-BAR_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/cmake_root/include/zot
+BAR_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
+BAR_TEST_PROG_BAR :.*/PackageRoot/bar/cmake_root/bin/bar.exe
+
+find_package(Foo COMPONENTS BarConfig)
+FOO_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/env_root/include/zot/zot.h
+FOO_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/env_root/include/zot
+FOO_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/foo/env_root/cmake/BarConfig.cmake
+BAR_TEST_FILE_FOO :.*/PackageRoot/foo/env_root/include/foo.h
+BAR_TEST_FILE_BAR :.*/PackageRoot/bar/cmake_root/include/bar.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/cmake_root/include/zot/zot.h
+BAR_TEST_PATH_FOO :.*/PackageRoot/foo/env_root/include
+BAR_TEST_PATH_BAR :.*/PackageRoot/bar/cmake_root/include
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/cmake_root/include/zot
 BAR_TEST_PROG_FOO :.*/PackageRoot/foo/env_root/bin/foo.exe
 BAR_TEST_PROG_BAR :.*/PackageRoot/bar/cmake_root/bin/bar.exe
 
+----------
 Foo_ROOT      :.*/PackageRoot/foo/cmake_root
 ENV{Foo_ROOT} :.*/PackageRoot/foo/env_root
+Bar_DIR       :
+Bar_ROOT      :.*/PackageRoot/bar/cmake_root
+ENV{Bar_ROOT} :.*/PackageRoot/bar/env_root
+
+find_package(Foo)
 FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
 FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
 FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
 FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
 FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
 
-Foo_ROOT      :.*/PackageRoot/foo/cmake_root
-ENV{Foo_ROOT} :.*/PackageRoot/foo/env_root
-Bar_ROOT      :.*/PackageRoot/bar/cmake_root
-ENV{Bar_ROOT} :.*/PackageRoot/bar/env_root
+find_package(Foo COMPONENTS BarModule)
 FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
 FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
 FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/FindBar.cmake
 BAR_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
 BAR_TEST_FILE_BAR :.*/PackageRoot/bar/cmake_root/include/bar.h
-BAR_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/cmake_root/include/zot/zot.h
 BAR_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
 BAR_TEST_PATH_BAR :.*/PackageRoot/bar/cmake_root/include
-BAR_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/cmake_root/include/zot
+BAR_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_TEST_PROG_BAR :.*/PackageRoot/bar/cmake_root/bin/bar.exe
+
+find_package(Foo COMPONENTS BarConfig)
+FOO_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
+FOO_TEST_FILE_ZOT :.*/PackageRoot/foo/cmake_root/include/zot/zot.h
+FOO_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
+FOO_TEST_PATH_ZOT :.*/PackageRoot/foo/cmake_root/include/zot
+FOO_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
+BAR_CMAKE_FILE    :.*/PackageRoot/foo/cmake_root/cmake/BarConfig.cmake
+BAR_TEST_FILE_FOO :.*/PackageRoot/foo/cmake_root/include/foo.h
+BAR_TEST_FILE_BAR :.*/PackageRoot/bar/cmake_root/include/bar.h
+BAR_TEST_FILE_ZOT :.*/PackageRoot/bar/cmake_root/include/zot/zot.h
+BAR_TEST_PATH_FOO :.*/PackageRoot/foo/cmake_root/include
+BAR_TEST_PATH_BAR :.*/PackageRoot/bar/cmake_root/include
+BAR_TEST_PATH_ZOT :.*/PackageRoot/bar/cmake_root/include/zot
 BAR_TEST_PROG_FOO :.*/PackageRoot/foo/cmake_root/bin/foo.exe
 BAR_TEST_PROG_BAR :.*/PackageRoot/bar/cmake_root/bin/bar.exe

+ 57 - 7
Tests/RunCMake/find_package/PackageRoot.cmake

@@ -5,37 +5,57 @@ set(PackageRoot_BASE ${CMAKE_CURRENT_SOURCE_DIR}/PackageRoot)
 macro(CleanUpPackageRootTest)
   unset(Foo_ROOT)
   unset(ENV{Foo_ROOT})
+  unset(Bar_DIR)
+  unset(BAR_CMAKE_FILE)
   unset(Bar_ROOT)
   unset(ENV{Bar_ROOT})
   unset(FOO_TEST_FILE_FOO)
+  unset(FOO_TEST_FILE_ZOT)
   unset(FOO_TEST_PATH_FOO)
+  unset(FOO_TEST_PATH_ZOT)
   unset(FOO_TEST_PROG_FOO)
   unset(BAR_TEST_FILE_FOO)
   unset(BAR_TEST_FILE_BAR)
+  unset(BAR_TEST_FILE_ZOT)
   unset(BAR_TEST_PATH_FOO)
   unset(BAR_TEST_PATH_BAR)
+  unset(BAR_TEST_PATH_ZOT)
   unset(BAR_TEST_PROG_FOO)
   unset(BAR_TEST_PROG_BAR)
+  unset(Bar_DIR CACHE)
+  unset(BAR_CMAKE_FILE CACHE)
   unset(FOO_TEST_FILE_FOO CACHE)
+  unset(FOO_TEST_FILE_ZOT CACHE)
   unset(FOO_TEST_PATH_FOO CACHE)
+  unset(FOO_TEST_PATH_ZOT CACHE)
   unset(FOO_TEST_PROG_FOO CACHE)
   unset(BAR_TEST_FILE_FOO CACHE)
   unset(BAR_TEST_FILE_BAR CACHE)
+  unset(BAR_TEST_FILE_ZOT CACHE)
   unset(BAR_TEST_PATH_FOO CACHE)
   unset(BAR_TEST_PATH_BAR CACHE)
+  unset(BAR_TEST_PATH_ZOT CACHE)
   unset(BAR_TEST_PROG_FOO CACHE)
   unset(BAR_TEST_PROG_BAR CACHE)
 endmacro()
 
 macro(RunPackageRootTest)
+  message("----------")
+  message("Foo_ROOT      :${Foo_ROOT}")
+  message("ENV{Foo_ROOT} :$ENV{Foo_ROOT}")
+  message("Bar_DIR       :${Bar_DIR}")
+  message("Bar_ROOT      :${Bar_ROOT}")
+  message("ENV{Bar_ROOT} :$ENV{Bar_ROOT}")
+  message("")
+
+  set(orig_bar_dir        ${Bar_DIR})
   set(orig_foo_cmake_root ${Foo_ROOT})
   set(orig_foo_env_root   $ENV{Foo_ROOT})
   set(orig_bar_cmake_root ${Bar_ROOT})
   set(orig_bar_env_root   $ENV{Bar_ROOT})
 
   find_package(Foo)
-  message("Foo_ROOT      :${Foo_ROOT}")
-  message("ENV{Foo_ROOT} :$ENV{Foo_ROOT}")
+  message("find_package(Foo)")
   message("FOO_TEST_FILE_FOO :${FOO_TEST_FILE_FOO}")
   message("FOO_TEST_FILE_ZOT :${FOO_TEST_FILE_ZOT}")
   message("FOO_TEST_PATH_FOO :${FOO_TEST_PATH_FOO}")
@@ -49,14 +69,39 @@ macro(RunPackageRootTest)
   set(Bar_ROOT      ${orig_bar_cmake_root})
   set(ENV{Bar_ROOT} ${orig_bar_env_root})
 
-  find_package(Foo COMPONENTS Bar)
-  message("Foo_ROOT      :${Foo_ROOT}")
-  message("ENV{Foo_ROOT} :$ENV{Foo_ROOT}")
-  message("Bar_ROOT      :${Bar_ROOT}")
-  message("ENV{Bar_ROOT} :$ENV{Bar_ROOT}")
+  find_package(Foo COMPONENTS BarModule)
+  message("find_package(Foo COMPONENTS BarModule)")
   message("FOO_TEST_FILE_FOO :${FOO_TEST_FILE_FOO}")
+  message("FOO_TEST_FILE_ZOT :${FOO_TEST_FILE_ZOT}")
   message("FOO_TEST_PATH_FOO :${FOO_TEST_PATH_FOO}")
+  message("FOO_TEST_PATH_ZOT :${FOO_TEST_PATH_ZOT}")
+  message("FOO_TEST_PROG_FOO :${FOO_TEST_PROG_FOO}")
+  message("BAR_CMAKE_FILE    :${BAR_CMAKE_FILE}")
+  message("BAR_TEST_FILE_FOO :${BAR_TEST_FILE_FOO}")
+  message("BAR_TEST_FILE_BAR :${BAR_TEST_FILE_BAR}")
+  message("BAR_TEST_FILE_ZOT :${BAR_TEST_FILE_ZOT}")
+  message("BAR_TEST_PATH_FOO :${BAR_TEST_PATH_FOO}")
+  message("BAR_TEST_PATH_BAR :${BAR_TEST_PATH_BAR}")
+  message("BAR_TEST_PATH_ZOT :${BAR_TEST_PATH_ZOT}")
+  message("BAR_TEST_PROG_FOO :${BAR_TEST_PROG_FOO}")
+  message("BAR_TEST_PROG_BAR :${BAR_TEST_PROG_BAR}")
+  CleanUpPackageRootTest()
+  message("")
+
+  set(Bar_DIR       ${orig_bar_dir})
+  set(Foo_ROOT      ${orig_foo_cmake_root})
+  set(ENV{Foo_ROOT} ${orig_foo_env_root})
+  set(Bar_ROOT      ${orig_bar_cmake_root})
+  set(ENV{Bar_ROOT} ${orig_bar_env_root})
+
+  find_package(Foo COMPONENTS BarConfig)
+  message("find_package(Foo COMPONENTS BarConfig)")
+  message("FOO_TEST_FILE_FOO :${FOO_TEST_FILE_FOO}")
+  message("FOO_TEST_FILE_ZOT :${FOO_TEST_FILE_ZOT}")
+  message("FOO_TEST_PATH_FOO :${FOO_TEST_PATH_FOO}")
+  message("FOO_TEST_PATH_ZOT :${FOO_TEST_PATH_ZOT}")
   message("FOO_TEST_PROG_FOO :${FOO_TEST_PROG_FOO}")
+  message("BAR_CMAKE_FILE    :${BAR_CMAKE_FILE}")
   message("BAR_TEST_FILE_FOO :${BAR_TEST_FILE_FOO}")
   message("BAR_TEST_FILE_BAR :${BAR_TEST_FILE_BAR}")
   message("BAR_TEST_FILE_ZOT :${BAR_TEST_FILE_ZOT}")
@@ -68,12 +113,14 @@ macro(RunPackageRootTest)
   CleanUpPackageRootTest()
   message("")
 
+  unset(orig_bar_dir)
   unset(orig_foo_cmake_root)
   unset(orig_foo_env_root)
   unset(orig_bar_cmake_root)
   unset(orig_bar_env_root)
 endmacro()
 
+set(Bar_DIR       ${PackageRoot_BASE})
 RunPackageRootTest()
 
 set(Foo_ROOT      ${PackageRoot_BASE}/foo/cmake_root)
@@ -88,12 +135,15 @@ RunPackageRootTest()
 
 ##
 
+set(Bar_DIR       ${PackageRoot_BASE})
 set(Bar_ROOT      ${PackageRoot_BASE}/bar/cmake_root)
 RunPackageRootTest()
 
+set(Bar_DIR       ${PackageRoot_BASE})
 set(ENV{Bar_ROOT} ${PackageRoot_BASE}/bar/env_root)
 RunPackageRootTest()
 
+set(Bar_DIR       ${PackageRoot_BASE})
 set(Bar_ROOT      ${PackageRoot_BASE}/bar/cmake_root)
 set(ENV{Bar_ROOT} ${PackageRoot_BASE}/bar/env_root)
 RunPackageRootTest()

+ 9 - 0
Tests/RunCMake/find_package/PackageRoot/BarConfig.cmake

@@ -0,0 +1,9 @@
+set(BAR_CMAKE_FILE ${CMAKE_CURRENT_LIST_FILE} CACHE FILEPATH "")
+find_file(BAR_TEST_FILE_FOO foo.h)
+find_file(BAR_TEST_FILE_BAR bar.h)
+find_file(BAR_TEST_FILE_ZOT zot.h PATH_SUFFIXES zot)
+find_path(BAR_TEST_PATH_FOO foo.h)
+find_path(BAR_TEST_PATH_BAR bar.h)
+find_path(BAR_TEST_PATH_ZOT zot.h PATH_SUFFIXES zot)
+find_program(BAR_TEST_PROG_FOO foo.exe)
+find_program(BAR_TEST_PROG_BAR bar.exe)

+ 1 - 0
Tests/RunCMake/find_package/PackageRoot/FindBar.cmake

@@ -1,3 +1,4 @@
+set(BAR_CMAKE_FILE ${CMAKE_CURRENT_LIST_FILE} CACHE FILEPATH "")
 find_file(BAR_TEST_FILE_FOO foo.h)
 find_file(BAR_TEST_FILE_BAR bar.h)
 find_file(BAR_TEST_FILE_ZOT zot.h PATH_SUFFIXES zot)

+ 3 - 1
Tests/RunCMake/find_package/PackageRoot/FindFoo.cmake

@@ -4,6 +4,8 @@ find_path(FOO_TEST_PATH_FOO foo.h)
 find_path(FOO_TEST_PATH_ZOT zot.h PATH_SUFFIXES zot)
 find_program(FOO_TEST_PROG_FOO foo.exe)
 
-if ("Bar" IN_LIST Foo_FIND_COMPONENTS)
+if ("BarModule" IN_LIST Foo_FIND_COMPONENTS)
   find_package(Bar)
+elseif ("BarConfig" IN_LIST Foo_FIND_COMPONENTS)
+  find_package(Bar CONFIG)
 endif ()

+ 9 - 0
Tests/RunCMake/find_package/PackageRoot/foo/cmake_root/cmake/BarConfig.cmake

@@ -0,0 +1,9 @@
+set(BAR_CMAKE_FILE ${CMAKE_CURRENT_LIST_FILE} CACHE FILEPATH "")
+find_file(BAR_TEST_FILE_FOO foo.h)
+find_file(BAR_TEST_FILE_BAR bar.h)
+find_file(BAR_TEST_FILE_ZOT zot.h PATH_SUFFIXES zot)
+find_path(BAR_TEST_PATH_FOO foo.h)
+find_path(BAR_TEST_PATH_BAR bar.h)
+find_path(BAR_TEST_PATH_ZOT zot.h PATH_SUFFIXES zot)
+find_program(BAR_TEST_PROG_FOO foo.exe)
+find_program(BAR_TEST_PROG_BAR bar.exe)

+ 9 - 0
Tests/RunCMake/find_package/PackageRoot/foo/env_root/cmake/BarConfig.cmake

@@ -0,0 +1,9 @@
+set(BAR_CMAKE_FILE ${CMAKE_CURRENT_LIST_FILE} CACHE FILEPATH "")
+find_file(BAR_TEST_FILE_FOO foo.h)
+find_file(BAR_TEST_FILE_BAR bar.h)
+find_file(BAR_TEST_FILE_ZOT zot.h PATH_SUFFIXES zot)
+find_path(BAR_TEST_PATH_FOO foo.h)
+find_path(BAR_TEST_PATH_BAR bar.h)
+find_path(BAR_TEST_PATH_ZOT zot.h PATH_SUFFIXES zot)
+find_program(BAR_TEST_PROG_FOO foo.exe)
+find_program(BAR_TEST_PROG_BAR bar.exe)