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