PackageRootNestedModule.cmake 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. cmake_policy(SET CMP0057 NEW)
  2. list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_CURRENT_SOURCE_DIR}/PackageRoot)
  3. set(PackageRoot_BASE ${CMAKE_CURRENT_SOURCE_DIR}/PackageRoot)
  4. macro(CleanUpPackageRootTest)
  5. unset(Foo_ROOT)
  6. unset(ENV{Foo_ROOT})
  7. unset(Bar_DIR)
  8. unset(BAR_CMAKE_FILE)
  9. unset(Bar_ROOT)
  10. unset(ENV{Bar_ROOT})
  11. unset(FOO_TEST_FILE_FOO)
  12. unset(FOO_TEST_FILE_ZOT)
  13. unset(FOO_TEST_PATH_FOO)
  14. unset(FOO_TEST_PATH_ZOT)
  15. unset(FOO_TEST_PROG_FOO)
  16. unset(BAR_TEST_FILE_FOO)
  17. unset(BAR_TEST_FILE_BAR)
  18. unset(BAR_TEST_FILE_ZOT)
  19. unset(BAR_TEST_PATH_FOO)
  20. unset(BAR_TEST_PATH_BAR)
  21. unset(BAR_TEST_PATH_ZOT)
  22. unset(BAR_TEST_PROG_FOO)
  23. unset(BAR_TEST_PROG_BAR)
  24. unset(Bar_DIR CACHE)
  25. unset(BAR_CMAKE_FILE CACHE)
  26. unset(FOO_TEST_FILE_FOO CACHE)
  27. unset(FOO_TEST_FILE_ZOT CACHE)
  28. unset(FOO_TEST_PATH_FOO CACHE)
  29. unset(FOO_TEST_PATH_ZOT CACHE)
  30. unset(FOO_TEST_PROG_FOO CACHE)
  31. unset(BAR_TEST_FILE_FOO CACHE)
  32. unset(BAR_TEST_FILE_BAR CACHE)
  33. unset(BAR_TEST_FILE_ZOT CACHE)
  34. unset(BAR_TEST_PATH_FOO CACHE)
  35. unset(BAR_TEST_PATH_BAR CACHE)
  36. unset(BAR_TEST_PATH_ZOT CACHE)
  37. unset(BAR_TEST_PROG_FOO CACHE)
  38. unset(BAR_TEST_PROG_BAR CACHE)
  39. endmacro()
  40. macro(RunPackageRootTest)
  41. message("----------")
  42. message("Foo_ROOT :${Foo_ROOT}")
  43. message("ENV{Foo_ROOT} :$ENV{Foo_ROOT}")
  44. message("Bar_DIR :${Bar_DIR}")
  45. message("Bar_ROOT :${Bar_ROOT}")
  46. message("ENV{Bar_ROOT} :$ENV{Bar_ROOT}")
  47. message("")
  48. find_package(Foo COMPONENTS BarModule)
  49. message("find_package(Foo COMPONENTS BarModule)")
  50. message("FOO_TEST_FILE_FOO :${FOO_TEST_FILE_FOO}")
  51. message("FOO_TEST_FILE_ZOT :${FOO_TEST_FILE_ZOT}")
  52. message("FOO_TEST_PATH_FOO :${FOO_TEST_PATH_FOO}")
  53. message("FOO_TEST_PATH_ZOT :${FOO_TEST_PATH_ZOT}")
  54. message("FOO_TEST_PROG_FOO :${FOO_TEST_PROG_FOO}")
  55. message("BAR_CMAKE_FILE :${BAR_CMAKE_FILE}")
  56. message("BAR_TEST_FILE_FOO :${BAR_TEST_FILE_FOO}")
  57. message("BAR_TEST_FILE_BAR :${BAR_TEST_FILE_BAR}")
  58. message("BAR_TEST_FILE_ZOT :${BAR_TEST_FILE_ZOT}")
  59. message("BAR_TEST_PATH_FOO :${BAR_TEST_PATH_FOO}")
  60. message("BAR_TEST_PATH_BAR :${BAR_TEST_PATH_BAR}")
  61. message("BAR_TEST_PATH_ZOT :${BAR_TEST_PATH_ZOT}")
  62. message("BAR_TEST_PROG_FOO :${BAR_TEST_PROG_FOO}")
  63. message("BAR_TEST_PROG_BAR :${BAR_TEST_PROG_BAR}")
  64. CleanUpPackageRootTest()
  65. message("")
  66. endmacro()
  67. #
  68. RunPackageRootTest()
  69. #
  70. set(Foo_ROOT ${PackageRoot_BASE}/foo/cmake_root)
  71. RunPackageRootTest()
  72. set(Foo_ROOT ${PackageRoot_BASE}/foo/cmake_root)
  73. set(Bar_ROOT ${PackageRoot_BASE}/bar/cmake_root)
  74. RunPackageRootTest()
  75. set(Foo_ROOT ${PackageRoot_BASE}/foo/cmake_root)
  76. set(ENV{Bar_ROOT} ${PackageRoot_BASE}/bar/env_root)
  77. RunPackageRootTest()
  78. set(Foo_ROOT ${PackageRoot_BASE}/foo/cmake_root)
  79. set(Bar_ROOT ${PackageRoot_BASE}/bar/cmake_root)
  80. set(ENV{Bar_ROOT} ${PackageRoot_BASE}/bar/env_root)
  81. RunPackageRootTest()
  82. #
  83. set(Foo_ROOT ${PackageRoot_BASE}/foo/cmake_root)
  84. set(ENV{Foo_ROOT} ${PackageRoot_BASE}/foo/cmake_root)
  85. RunPackageRootTest()
  86. set(Foo_ROOT ${PackageRoot_BASE}/foo/cmake_root)
  87. set(ENV{Foo_ROOT} ${PackageRoot_BASE}/foo/cmake_root)
  88. set(Bar_ROOT ${PackageRoot_BASE}/bar/cmake_root)
  89. RunPackageRootTest()
  90. set(Foo_ROOT ${PackageRoot_BASE}/foo/cmake_root)
  91. set(ENV{Foo_ROOT} ${PackageRoot_BASE}/foo/cmake_root)
  92. set(ENV{Bar_ROOT} ${PackageRoot_BASE}/bar/env_root)
  93. RunPackageRootTest()
  94. set(Foo_ROOT ${PackageRoot_BASE}/foo/cmake_root)
  95. set(ENV{Foo_ROOT} ${PackageRoot_BASE}/foo/cmake_root)
  96. set(Bar_ROOT ${PackageRoot_BASE}/bar/cmake_root)
  97. set(ENV{Bar_ROOT} ${PackageRoot_BASE}/bar/env_root)
  98. RunPackageRootTest()
  99. #
  100. set(Foo_ROOT ${PackageRoot_BASE}/foo/cmake_root)
  101. set(ENV{Foo_ROOT} ${PackageRoot_BASE}/foo/cmake_root)
  102. RunPackageRootTest()
  103. set(Foo_ROOT ${PackageRoot_BASE}/foo/cmake_root)
  104. set(ENV{Foo_ROOT} ${PackageRoot_BASE}/foo/cmake_root)
  105. set(Bar_ROOT ${PackageRoot_BASE}/bar/cmake_root)
  106. RunPackageRootTest()
  107. set(Foo_ROOT ${PackageRoot_BASE}/foo/cmake_root)
  108. set(ENV{Foo_ROOT} ${PackageRoot_BASE}/foo/cmake_root)
  109. set(ENV{Bar_ROOT} ${PackageRoot_BASE}/bar/env_root)
  110. RunPackageRootTest()
  111. set(Foo_ROOT ${PackageRoot_BASE}/foo/cmake_root)
  112. set(ENV{Foo_ROOT} ${PackageRoot_BASE}/foo/cmake_root)
  113. set(Bar_ROOT ${PackageRoot_BASE}/bar/cmake_root)
  114. set(ENV{Bar_ROOT} ${PackageRoot_BASE}/bar/env_root)
  115. RunPackageRootTest()