FeatureSummaryCustomTypes.cmake 978 B

123456789101112131415161718192021222324252627282930313233343536
  1. include(FeatureSummary)
  2. list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
  3. set_property(GLOBAL PROPERTY FeatureSummary_PKG_TYPES TYPE1 TYPE2 TYPE3)
  4. set_property(GLOBAL PROPERTY FeatureSummary_REQUIRED_PKG_TYPES TYPE3)
  5. set_property(GLOBAL PROPERTY FeatureSummary_DEFAULT_PKG_TYPE TYPE2)
  6. find_package(Foo)
  7. # Type not set => TYPE2
  8. feature_summary(WHAT ALL)
  9. # TYPE1 > not set => TYPE1
  10. set_package_properties(Foo PROPERTIES TYPE TYPE1)
  11. feature_summary(WHAT ALL)
  12. # TYPE2 > TYPE1 => TYPE2
  13. set_package_properties(Foo PROPERTIES TYPE TYPE2)
  14. feature_summary(WHAT ALL)
  15. # TYPE1 < TYPE2 => TYPE2
  16. set_package_properties(Foo PROPERTIES TYPE TYPE2)
  17. feature_summary(WHAT ALL)
  18. # TYPE3 > TYPE2 => TYPE3
  19. set_package_properties(Foo PROPERTIES TYPE TYPE3)
  20. feature_summary(WHAT ALL)
  21. # TYPE2 < TYPE3 => TYPE3
  22. set_package_properties(Foo PROPERTIES TYPE TYPE2)
  23. feature_summary(WHAT ALL)
  24. # TYPE1 < TYPE3 => TYPE3
  25. set_package_properties(Foo PROPERTIES TYPE TYPE1)
  26. feature_summary(WHAT ALL)