PushCheckStateTest.cmake.in 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. include(CMakePushCheckState)
  2. set(CMAKE_EXTRA_INCLUDE_FILES file1)
  3. set(CMAKE_REQUIRED_INCLUDES dir1)
  4. set(CMAKE_REQUIRED_DEFINITIONS defs1 )
  5. set(CMAKE_REQUIRED_LIBRARIES lib1)
  6. set(CMAKE_REQUIRED_FLAGS flag1)
  7. set(CMAKE_REQUIRED_QUIET 1)
  8. cmake_push_check_state()
  9. set(CMAKE_EXTRA_INCLUDE_FILES file2)
  10. set(CMAKE_REQUIRED_INCLUDES dir2)
  11. set(CMAKE_REQUIRED_DEFINITIONS defs2)
  12. set(CMAKE_REQUIRED_LIBRARIES lib2)
  13. set(CMAKE_REQUIRED_FLAGS flag2)
  14. set(CMAKE_REQUIRED_QUIET 2)
  15. cmake_push_check_state()
  16. set(CMAKE_EXTRA_INCLUDE_FILES file3)
  17. set(CMAKE_REQUIRED_DEFINITIONS defs3)
  18. set(CMAKE_REQUIRED_INCLUDES dir3)
  19. set(CMAKE_REQUIRED_DEFINITIONS defs3)
  20. set(CMAKE_REQUIRED_LIBRARIES lib3)
  21. set(CMAKE_REQUIRED_FLAGS flag3)
  22. set(CMAKE_REQUIRED_QUIET 3)
  23. cmake_pop_check_state()
  24. foreach(pair IN ITEMS
  25. EXTRA_INCLUDE_FILES|file2
  26. REQUIRED_INCLUDES|dir2
  27. REQUIRED_DEFINITIONS|defs2
  28. REQUIRED_LIBRARIES|lib2
  29. REQUIRED_FLAGS|flag2
  30. REQUIRED_QUIET|2
  31. )
  32. string(REPLACE "|" ";" pair "${pair}")
  33. list(GET pair 0 var)
  34. list(GET pair 1 expected)
  35. if (NOT "${CMAKE_${var}}" STREQUAL "${expected}")
  36. set(fatal TRUE)
  37. message("ERROR: CMAKE_${var} is \"${CMAKE_${var}}\" (expected \"${expected}\")" )
  38. endif()
  39. endforeach()
  40. cmake_pop_check_state()
  41. foreach(pair IN ITEMS
  42. EXTRA_INCLUDE_FILES|file1
  43. REQUIRED_INCLUDES|dir1
  44. REQUIRED_DEFINITIONS|defs1
  45. REQUIRED_LIBRARIES|lib1
  46. REQUIRED_FLAGS|flag1
  47. REQUIRED_QUIET|1
  48. )
  49. string(REPLACE "|" ";" pair "${pair}")
  50. list(GET pair 0 var)
  51. list(GET pair 1 expected)
  52. if (NOT "${CMAKE_${var}}" STREQUAL "${expected}")
  53. set(fatal TRUE)
  54. message("ERROR: CMAKE_${var} is \"${CMAKE_${var}}\" (expected \"${expected}\")" )
  55. endif()
  56. endforeach()
  57. if(fatal)
  58. message(FATAL_ERROR "cmake_push_check_state() test failed")
  59. endif()