SystemInformation.cmake 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #=============================================================================
  2. # Copyright 2007-2009 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 distributed this file outside of CMake, substitute the full
  12. # License text for the above reference.)
  13. PROJECT(DumpInformation)
  14. # first get the standard information for th platform
  15. INCLUDE_DIRECTORIES("This does not exists")
  16. GET_DIRECTORY_PROPERTY(incl INCLUDE_DIRECTORIES)
  17. SET_DIRECTORY_PROPERTIES(PROPERTIES INCLUDE_DIRECTORIES "${DumpInformation_BINARY_DIR};${DumpInformation_SOURCE_DIR}")
  18. CONFIGURE_FILE("${CMAKE_ROOT}/Modules/SystemInformation.in" "${RESULT_FILE}")
  19. FILE(APPEND "${RESULT_FILE}"
  20. "\n=================================================================\n")
  21. FILE(APPEND "${RESULT_FILE}"
  22. "=== VARIABLES\n")
  23. FILE(APPEND "${RESULT_FILE}"
  24. "=================================================================\n")
  25. GET_CMAKE_PROPERTY(res VARIABLES)
  26. FOREACH(var ${res})
  27. FILE(APPEND "${RESULT_FILE}" "${var} \"${${var}}\"\n")
  28. ENDFOREACH(var ${res})
  29. FILE(APPEND "${RESULT_FILE}"
  30. "\n=================================================================\n")
  31. FILE(APPEND "${RESULT_FILE}"
  32. "=== COMMANDS\n")
  33. FILE(APPEND "${RESULT_FILE}"
  34. "=================================================================\n")
  35. GET_CMAKE_PROPERTY(res COMMANDS)
  36. FOREACH(var ${res})
  37. FILE(APPEND "${RESULT_FILE}" "${var}\n")
  38. ENDFOREACH(var ${res})
  39. FILE(APPEND "${RESULT_FILE}"
  40. "\n=================================================================\n")
  41. FILE(APPEND "${RESULT_FILE}"
  42. "=== MACROS\n")
  43. FILE(APPEND "${RESULT_FILE}"
  44. "=================================================================\n")
  45. FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/AllMacros.txt "")
  46. GET_CMAKE_PROPERTY(res MACROS)
  47. FOREACH(var ${res})
  48. FILE(APPEND "${RESULT_FILE}" "${var}\n")
  49. ENDFOREACH(var ${res})
  50. FILE(APPEND "${RESULT_FILE}"
  51. "\n=================================================================\n")
  52. FILE(APPEND "${RESULT_FILE}"
  53. "=== OTHER\n")
  54. FILE(APPEND "${RESULT_FILE}"
  55. "=================================================================\n")
  56. GET_DIRECTORY_PROPERTY(res INCLUDE_DIRECTORIES)
  57. FOREACH(var ${res})
  58. FILE(APPEND "${RESULT_FILE}" "INCLUDE_DIRECTORY: ${var}\n")
  59. ENDFOREACH(var)
  60. GET_DIRECTORY_PROPERTY(res LINK_DIRECTORIES)
  61. FOREACH(var ${res})
  62. FILE(APPEND "${RESULT_FILE}" "LINK_DIRECTORIES: ${var}\n")
  63. ENDFOREACH(var)
  64. GET_DIRECTORY_PROPERTY(res INCLUDE_REGULAR_EXPRESSION)
  65. FILE(APPEND "${RESULT_FILE}" "INCLUDE_REGULAR_EXPRESSION: ${res}\n")
  66. # include other files if they are present, such as when run from within the
  67. # binary tree
  68. MACRO(DUMP_FILE THE_FILE)
  69. IF (EXISTS "${THE_FILE}")
  70. FILE(APPEND "${RESULT_FILE}"
  71. "\n=================================================================\n")
  72. FILE(APPEND "${RESULT_FILE}"
  73. "=== ${THE_FILE}\n")
  74. FILE(APPEND "${RESULT_FILE}"
  75. "=================================================================\n")
  76. FILE(READ "${THE_FILE}" FILE_CONTENTS LIMIT 50000)
  77. FILE(APPEND "${RESULT_FILE}" "${FILE_CONTENTS}")
  78. ENDIF (EXISTS "${THE_FILE}")
  79. ENDMACRO(DUMP_FILE)
  80. DUMP_FILE("../CMakeCache.txt")
  81. DUMP_FILE("../CMakeFiles/CMakeOutput.log")
  82. DUMP_FILE("../CMakeFiles/CMakeError.log")
  83. DUMP_FILE("../CMakeFiles/CMakeSystem.cmake")
  84. FOREACH (EXTRA_FILE ${EXTRA_DUMP_FILES})
  85. DUMP_FILE("${EXTRA_FILE}")
  86. ENDFOREACH (EXTRA_FILE)