summaryrefslogtreecommitdiffstats
path: root/Modules/SystemInformation.cmake
diff options
context:
space:
mode:
authorKen Martin <ken.martin@kitware.com>2007-02-26 18:40:56 (GMT)
committerKen Martin <ken.martin@kitware.com>2007-02-26 18:40:56 (GMT)
commitdc7c6172b184de69d5fd8d3300bb1d3fc44cb5f0 (patch)
tree211a80f2b6d27de978b8543b9eadf0dde5b90611 /Modules/SystemInformation.cmake
parentd97ae16badd4a62181c3b1d17d0e10d533ea5b8c (diff)
downloadCMake-dc7c6172b184de69d5fd8d3300bb1d3fc44cb5f0.zip
CMake-dc7c6172b184de69d5fd8d3300bb1d3fc44cb5f0.tar.gz
CMake-dc7c6172b184de69d5fd8d3300bb1d3fc44cb5f0.tar.bz2
ENH: added for system information command line option
Diffstat (limited to 'Modules/SystemInformation.cmake')
-rw-r--r--Modules/SystemInformation.cmake83
1 files changed, 83 insertions, 0 deletions
diff --git a/Modules/SystemInformation.cmake b/Modules/SystemInformation.cmake
new file mode 100644
index 0000000..a7a22f6
--- /dev/null
+++ b/Modules/SystemInformation.cmake
@@ -0,0 +1,83 @@
+PROJECT(DumpInformation)
+
+# first get the standard information for th platform
+INCLUDE_DIRECTORIES("This does not exists")
+GET_DIRECTORY_PROPERTY(incl INCLUDE_DIRECTORIES)
+SET_DIRECTORY_PROPERTIES(PROPERTIES INCLUDE_DIRECTORIES "${DumpInformation_BINARY_DIR};${DumpInformation_SOURCE_DIR}")
+
+CONFIGURE_FILE("${CMAKE_ROOT}/Modules/SystemInformation.in" "${RESULT_FILE}")
+
+
+FILE(APPEND "${RESULT_FILE}"
+ "\n=================================================================\n")
+FILE(APPEND "${RESULT_FILE}"
+ "=== VARIABLES\n")
+FILE(APPEND "${RESULT_FILE}"
+ "=================================================================\n")
+GET_CMAKE_PROPERTY(res VARIABLES)
+FOREACH(var ${res})
+ FILE(APPEND "${RESULT_FILE}" "${var} \"${${var}}\"\n")
+ENDFOREACH(var ${res})
+
+FILE(APPEND "${RESULT_FILE}"
+ "\n=================================================================\n")
+FILE(APPEND "${RESULT_FILE}"
+ "=== COMMANDS\n")
+FILE(APPEND "${RESULT_FILE}"
+ "=================================================================\n")
+GET_CMAKE_PROPERTY(res COMMANDS)
+FOREACH(var ${res})
+ FILE(APPEND "${RESULT_FILE}" "${var}\n")
+ENDFOREACH(var ${res})
+
+FILE(APPEND "${RESULT_FILE}"
+ "\n=================================================================\n")
+FILE(APPEND "${RESULT_FILE}"
+ "=== MACROS\n")
+FILE(APPEND "${RESULT_FILE}"
+ "=================================================================\n")
+FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/AllMacros.txt "")
+GET_CMAKE_PROPERTY(res MACROS)
+FOREACH(var ${res})
+ FILE(APPEND "${RESULT_FILE}" "${var}\n")
+ENDFOREACH(var ${res})
+
+FILE(APPEND "${RESULT_FILE}"
+ "\n=================================================================\n")
+FILE(APPEND "${RESULT_FILE}"
+ "=== OTHER\n")
+FILE(APPEND "${RESULT_FILE}"
+ "=================================================================\n")
+GET_DIRECTORY_PROPERTY(res INCLUDE_DIRECTORIES)
+FOREACH(var ${res})
+ FILE(APPEND "${RESULT_FILE}" "INCLUDE_DIRECTORY: ${var}\n")
+ENDFOREACH(var)
+
+GET_DIRECTORY_PROPERTY(res LINK_DIRECTORIES)
+FOREACH(var ${res})
+ FILE(APPEND "${RESULT_FILE}" "LINK_DIRECTORIES: ${var}\n")
+ENDFOREACH(var)
+
+GET_DIRECTORY_PROPERTY(res INCLUDE_REGULAR_EXPRESSION)
+FILE(APPEND "${RESULT_FILE}" "INCLUDE_REGULAR_EXPRESSION: ${res}\n")
+
+# include other files if they are present, such as when run from within the
+# binary tree
+MACRO(DUMP_FILE THE_FILE)
+ IF (EXISTS "${THE_FILE}")
+ FILE(APPEND "${RESULT_FILE}"
+ "\n=================================================================\n")
+ FILE(APPEND "${RESULT_FILE}"
+ "=== ${THE_FILE}\n")
+ FILE(APPEND "${RESULT_FILE}"
+ "=================================================================\n")
+
+ FILE(READ "${THE_FILE}" FILE_CONTENTS)
+ FILE(APPEND "${RESULT_FILE}" "${FILE_CONTENTS}")
+ ENDIF (EXISTS "${THE_FILE}")
+ENDMACRO(DUMP_FILE)
+
+DUMP_FILE("../CMakeCache.txt")
+DUMP_FILE("../CMakeFiles/CMakeOutput.log")
+DUMP_FILE("../CMakeFiles/CMakeError.log")
+DUMP_FILE("../CMakeFiles/CMakeSystem.cmake")