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