GetPropertyTest.cmake.in 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. include("@CMAKE_CURRENT_SOURCE_DIR@/CheckCMakeTest.cmake")
  2. get_property(FOO_BRIEF GLOBAL PROPERTY FOO BRIEF_DOCS)
  3. get_property(FOO_FULL GLOBAL PROPERTY FOO FULL_DOCS)
  4. if (NOT FOO_BRIEF STREQUAL "NOTFOUND")
  5. message(SEND_ERROR "property FOO has BRIEF_DOCS set to '${FOO_BRIEF}'")
  6. endif ()
  7. if (NOT FOO_FULL STREQUAL "NOTFOUND")
  8. message(SEND_ERROR "property FOO has FULL_DOCS set to '${FOO_FULL}'")
  9. endif ()
  10. get_property(test_brief GLOBAL PROPERTY ENABLED_FEATURES BRIEF_DOCS)
  11. get_property(test_full GLOBAL PROPERTY ENABLED_FEATURES FULL_DOCS)
  12. if(test_brief STREQUAL "NOTFOUND")
  13. message(SEND_ERROR "property ENABLED_FEATURES has no BRIEF_DOCS")
  14. endif()
  15. if(test_full STREQUAL "NOTFOUND")
  16. message(SEND_ERROR "property ENABLED_FEATURES has no FULL_DOCS")
  17. endif()
  18. set(test_var alpha)
  19. get_property(result VARIABLE PROPERTY test_var)
  20. if(NOT result STREQUAL "alpha")
  21. message(SEND_ERROR "bad value of VARIABLE PROPERTY test_var: got '${result}' instead of 'alpha'")
  22. endif()
  23. include("@CMAKE_CURRENT_SOURCE_DIR@/../RegexEscapeString.cmake")
  24. REGEX_ESCAPE_STRING(CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@")
  25. set(Missing-Argument-RESULT 1)
  26. set(Missing-Argument-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-Missing-Argument.cmake:1 \\(get_property\\):.*get_property called with incorrect number of arguments.*")
  27. check_cmake_test(GetProperty
  28. Missing-Argument
  29. )
  30. set(Bad-Scope-RESULT 1)
  31. set(Bad-Scope-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-Bad-Scope.cmake:1 \\(get_property\\):.*get_property given invalid scope FOO\\..*")
  32. check_cmake_test(GetProperty
  33. Bad-Scope
  34. )
  35. set(Bad-Argument-RESULT 1)
  36. set(Bad-Argument-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-Bad-Argument.cmake:1 \\(get_property\\):.*get_property given invalid argument \"FOO\"\\..*")
  37. check_cmake_test(GetProperty
  38. Bad-Argument
  39. )
  40. set(No-Property-RESULT 1)
  41. set(No-Property-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-No-Property.cmake:1 \\(get_property\\):.*get_property not given a PROPERTY <name> argument\\..*")
  42. check_cmake_test(GetProperty
  43. No-Property
  44. )
  45. set(Global-Name-RESULT 1)
  46. set(Global-Name-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-Global-Name.cmake:1 \\(get_property\\):.*get_property given name for GLOBAL scope\\..*")
  47. check_cmake_test(GetProperty
  48. Global-Name
  49. )
  50. set(Bad-Directory-RESULT 1)
  51. set(Bad-Directory-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-Bad-Directory.cmake:1 \\(get_property\\):.*get_property DIRECTORY scope provided but requested directory was not.*found\\..*")
  52. check_cmake_test(GetProperty
  53. Bad-Directory
  54. )
  55. set(No-Target-RESULT 1)
  56. set(No-Target-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-No-Target.cmake:1 \\(get_property\\):.*get_property not given name for TARGET scope\\..*")
  57. check_cmake_test(GetProperty
  58. No-Target
  59. )
  60. set(Bad-Target-RESULT 1)
  61. set(Bad-Target-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-Bad-Target.cmake:1 \\(get_property\\):.*get_property could not find TARGET FOO\\..*")
  62. check_cmake_test(GetProperty
  63. Bad-Target
  64. )
  65. set(No-Source-RESULT 1)
  66. set(No-Source-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-No-Source.cmake:1 \\(get_property\\):.*get_property not given name for SOURCE scope\\..*")
  67. check_cmake_test(GetProperty
  68. No-Source
  69. )
  70. set(No-Test-RESULT 1)
  71. set(No-Test-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-No-Test.cmake:1 \\(get_property\\):.*get_property not given name for TEST scope\\..*")
  72. check_cmake_test(GetProperty
  73. No-Test
  74. )
  75. set(Bad-Test-RESULT 1)
  76. set(Bad-Test-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-Bad-Test.cmake:1 \\(get_property\\):.*get_property given TEST name that does not exist: FOO.*")
  77. check_cmake_test(GetProperty
  78. Bad-Test
  79. )
  80. set(Variable-Name-RESULT 1)
  81. set(Variable-Name-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-Variable-Name.cmake:1 \\(get_property\\):.*get_property given name for VARIABLE scope\\..*")
  82. check_cmake_test(GetProperty
  83. Variable-Name
  84. )
  85. set(No-Cache-RESULT 1)
  86. set(No-Cache-STDERR ".*CMake Error at (${CTEST_ESCAPED_CMAKE_CURRENT_SOURCE_DIR}/)?GetProperty-No-Cache.cmake:1 \\(get_property\\):.*get_property not given name for CACHE scope\\..*")
  87. check_cmake_test(GetProperty
  88. No-Cache
  89. )