SystemInformation.cmake 3.7 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(var ${res})
  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(var ${res})
  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(var ${res})
  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(var)
  61. GET_DIRECTORY_PROPERTY(res LINK_DIRECTORIES)
  62. FOREACH(var ${res})
  63. FILE(APPEND "${RESULT_FILE}" "LINK_DIRECTORIES: ${var}\n")
  64. ENDFOREACH(var)
  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 (EXISTS "${THE_FILE}")
  80. ENDMACRO(DUMP_FILE)
  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 (EXTRA_FILE)