1cmake_policy(SET CMP0057 NEW)
2cmake_policy(SET CMP0074 NEW)
3list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_CURRENT_SOURCE_DIR}/PackageRoot)
4set(PackageRoot_BASE ${CMAKE_CURRENT_SOURCE_DIR}/PackageRoot)
5
6function(PrintPath label path)
7  string(REPLACE "${PackageRoot_BASE}" "<base>" out "${path}")
8  message("${label}${out}")
9endfunction()
10
11macro(CleanUpPackageRootTest)
12  unset(Foo_ROOT)
13  unset(ENV{Foo_ROOT})
14  unset(FOO_TEST_FILE_FOO)
15  unset(FOO_TEST_FILE_ZOT)
16  unset(FOO_TEST_PATH_FOO)
17  unset(FOO_TEST_PATH_ZOT)
18  unset(FOO_TEST_PROG_FOO)
19  unset(FOO_TEST_FILE_FOO CACHE)
20  unset(FOO_TEST_FILE_ZOT CACHE)
21  unset(FOO_TEST_PATH_FOO CACHE)
22  unset(FOO_TEST_PATH_ZOT CACHE)
23  unset(FOO_TEST_PROG_FOO CACHE)
24endmacro()
25
26macro(RunPackageRootTest)
27  message("----------")
28  PrintPath("Foo_ROOT      :" "${Foo_ROOT}")
29  PrintPath("ENV{Foo_ROOT} :" "$ENV{Foo_ROOT}")
30  message("")
31
32  find_package(Foo)
33  message("find_package(Foo)")
34  PrintPath("FOO_TEST_FILE_FOO :" "${FOO_TEST_FILE_FOO}")
35  PrintPath("FOO_TEST_FILE_ZOT :" "${FOO_TEST_FILE_ZOT}")
36  PrintPath("FOO_TEST_PATH_FOO :" "${FOO_TEST_PATH_FOO}")
37  PrintPath("FOO_TEST_PATH_ZOT :" "${FOO_TEST_PATH_ZOT}")
38  PrintPath("FOO_TEST_PROG_FOO :" "${FOO_TEST_PROG_FOO}")
39  CleanUpPackageRootTest()
40  message("")
41endmacro()
42
43RunPackageRootTest()
44
45set(Foo_ROOT      ${PackageRoot_BASE}/foo/cmake_root)
46RunPackageRootTest()
47
48set(ENV{Foo_ROOT} ${PackageRoot_BASE}/foo/env_root)
49RunPackageRootTest()
50
51set(Foo_ROOT      ${PackageRoot_BASE}/foo/cmake_root)
52set(ENV{Foo_ROOT} ${PackageRoot_BASE}/foo/env_root)
53RunPackageRootTest()
54