SystemInformation.cmake 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. #=============================================================================
  2. # Copyright 2007-2010 Kitware, Inc.
  3. #
  4. # Distributed under the OSI-approved BSD License (the "License");
  5. # see accompanying file Copyright.txt for details.
  6. #
  7. # This software is distributed WITHOUT ANY WARRANTY; without even the
  8. # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  9. # See the License for more information.
  10. #=============================================================================
  11. # (To distribute this file outside of CMake, substitute the full
  12. # License text for the above reference.)
  13. cmake_minimum_required(VERSION ${CMAKE_VERSION})
  14. project(DumpInformation)
  15. # first get the standard information for th platform
  16. include_directories("This does not exists")
  17. get_directory_property(incl INCLUDE_DIRECTORIES)
  18. set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES "${DumpInformation_BINARY_DIR};${DumpInformation_SOURCE_DIR}")
  19. configure_file("${CMAKE_ROOT}/Modules/SystemInformation.in" "${RESULT_FILE}")
  20. file(APPEND "${RESULT_FILE}"
  21. "\n=================================================================\n")
  22. file(APPEND "${RESULT_FILE}"
  23. "=== VARIABLES\n")
  24. file(APPEND "${RESULT_FILE}"
  25. "=================================================================\n")
  26. get_cmake_property(res VARIABLES)
  27. foreach(var ${res})
  28. file(APPEND "${RESULT_FILE}" "${var} \"${${var}}\"\n")
  29. endforeach()
  30. file(APPEND "${RESULT_FILE}"
  31. "\n=================================================================\n")
  32. file(APPEND "${RESULT_FILE}"
  33. "=== COMMANDS\n")
  34. file(APPEND "${RESULT_FILE}"
  35. "=================================================================\n")
  36. get_cmake_property(res COMMANDS)
  37. foreach(var ${res})
  38. file(APPEND "${RESULT_FILE}" "${var}\n")
  39. endforeach()
  40. file(APPEND "${RESULT_FILE}"
  41. "\n=================================================================\n")
  42. file(APPEND "${RESULT_FILE}"
  43. "=== MACROS\n")
  44. file(APPEND "${RESULT_FILE}"
  45. "=================================================================\n")
  46. file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/AllMacros.txt "")
  47. get_cmake_property(res MACROS)
  48. foreach(var ${res})
  49. file(APPEND "${RESULT_FILE}" "${var}\n")
  50. endforeach()
  51. file(APPEND "${RESULT_FILE}"
  52. "\n=================================================================\n")
  53. file(APPEND "${RESULT_FILE}"
  54. "=== OTHER\n")
  55. file(APPEND "${RESULT_FILE}"
  56. "=================================================================\n")
  57. get_directory_property(res INCLUDE_DIRECTORIES)
  58. foreach(var ${res})
  59. file(APPEND "${RESULT_FILE}" "INCLUDE_DIRECTORY: ${var}\n")
  60. endforeach()
  61. get_directory_property(res LINK_DIRECTORIES)
  62. foreach(var ${res})
  63. file(APPEND "${RESULT_FILE}" "LINK_DIRECTORIES: ${var}\n")
  64. endforeach()
  65. get_directory_property(res INCLUDE_REGULAR_EXPRESSION)
  66. file(APPEND "${RESULT_FILE}" "INCLUDE_REGULAR_EXPRESSION: ${res}\n")
  67. # include other files if they are present, such as when run from within the
  68. # binary tree
  69. macro(DUMP_FILE THE_FILE)
  70. if (EXISTS "${THE_FILE}")
  71. file(APPEND "${RESULT_FILE}"
  72. "\n=================================================================\n")
  73. file(APPEND "${RESULT_FILE}"
  74. "=== ${THE_FILE}\n")
  75. file(APPEND "${RESULT_FILE}"
  76. "=================================================================\n")
  77. file(READ "${THE_FILE}" FILE_CONTENTS LIMIT 50000)
  78. file(APPEND "${RESULT_FILE}" "${FILE_CONTENTS}")
  79. endif ()
  80. endmacro()
  81. DUMP_FILE("../CMakeCache.txt")
  82. DUMP_FILE("../CMakeFiles/CMakeOutput.log")
  83. DUMP_FILE("../CMakeFiles/CMakeError.log")
  84. DUMP_FILE("../CMakeFiles/CMakeSystem.cmake")
  85. foreach (EXTRA_FILE ${EXTRA_DUMP_FILES})
  86. DUMP_FILE("${EXTRA_FILE}")
  87. endforeach ()