DebugProperties.cmake 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. cmake_minimum_required(VERSION 2.8)
  2. project(CompatibleInterface)
  3. include(GenerateExportHeader)
  4. set(CMAKE_INCLUDE_CURRENT_DIR ON)
  5. add_library(iface1 INTERFACE)
  6. set_property(TARGET iface1 APPEND PROPERTY
  7. COMPATIBLE_INTERFACE_BOOL
  8. BOOL_PROP1
  9. BOOL_PROP2
  10. BOOL_PROP3
  11. BOOL_PROP4
  12. BOOL_PROP5
  13. )
  14. set_property(TARGET iface1 APPEND PROPERTY
  15. COMPATIBLE_INTERFACE_STRING
  16. STRING_PROP1
  17. STRING_PROP2
  18. STRING_PROP3
  19. )
  20. set_property(TARGET iface1 APPEND PROPERTY
  21. COMPATIBLE_INTERFACE_NUMBER_MIN
  22. NUMBER_MIN_PROP1
  23. NUMBER_MIN_PROP2
  24. )
  25. set_property(TARGET iface1 APPEND PROPERTY
  26. COMPATIBLE_INTERFACE_NUMBER_MAX
  27. NUMBER_MAX_PROP1
  28. NUMBER_MAX_PROP2
  29. )
  30. set(CMAKE_DEBUG_TARGET_PROPERTIES
  31. BOOL_PROP1 BOOL_PROP2 BOOL_PROP3 BOOL_PROP4 BOOL_PROP5
  32. STRING_PROP1 STRING_PROP2 STRING_PROP3
  33. NUMBER_MIN_PROP1 NUMBER_MIN_PROP2
  34. NUMBER_MAX_PROP1 NUMBER_MAX_PROP2
  35. )
  36. set_property(TARGET iface1 PROPERTY INTERFACE_BOOL_PROP1 ON)
  37. set_property(TARGET iface1 PROPERTY INTERFACE_BOOL_PROP2 ON)
  38. set_property(TARGET iface1 PROPERTY INTERFACE_BOOL_PROP5 OFF)
  39. set_property(TARGET iface1 PROPERTY INTERFACE_STRING_PROP1 prop1)
  40. set_property(TARGET iface1 PROPERTY INTERFACE_STRING_PROP2 prop2)
  41. set_property(TARGET iface1 PROPERTY INTERFACE_NUMBER_MIN_PROP1 100)
  42. set_property(TARGET iface1 PROPERTY INTERFACE_NUMBER_MIN_PROP2 200)
  43. set_property(TARGET iface1 PROPERTY INTERFACE_NUMBER_MAX_PROP1 100)
  44. set_property(TARGET iface1 PROPERTY INTERFACE_NUMBER_MAX_PROP2 200)
  45. add_executable(CompatibleInterface empty.cpp)
  46. target_link_libraries(CompatibleInterface iface1)
  47. set_property(TARGET CompatibleInterface PROPERTY BOOL_PROP2 ON)
  48. set_property(TARGET CompatibleInterface PROPERTY BOOL_PROP3 ON)
  49. set_property(TARGET CompatibleInterface PROPERTY STRING_PROP2 prop2)
  50. set_property(TARGET CompatibleInterface PROPERTY STRING_PROP3 prop3)
  51. set_property(TARGET CompatibleInterface PROPERTY NUMBER_MIN_PROP1 50)
  52. set_property(TARGET CompatibleInterface PROPERTY NUMBER_MIN_PROP2 250)
  53. set_property(TARGET CompatibleInterface PROPERTY NUMBER_MAX_PROP1 50)
  54. set_property(TARGET CompatibleInterface PROPERTY NUMBER_MAX_PROP2 250)