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