diff options
author | Matthew Woehlke <matthew.woehlke@kitware.com> | 2022-11-23 22:02:22 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2022-12-16 15:11:37 (GMT) |
commit | 746c776caf1207049922edb3ea63586b94fca4c6 (patch) | |
tree | a846db4f6435b8d4f1c592af0a26209ba13b5a1f /Source/cmake.h | |
parent | e8b8d82cbf60e517ad4b9026ba24de1c59165af4 (diff) | |
download | CMake-746c776caf1207049922edb3ea63586b94fca4c6.zip CMake-746c776caf1207049922edb3ea63586b94fca4c6.tar.gz CMake-746c776caf1207049922edb3ea63586b94fca4c6.tar.bz2 |
ConfigureLog: Add infrastructure for structured configure event logging
Add infrastructure for a "configure log". Use YAML for a balance of
machine- and human-readability to records details of configure-time
events in a structured format.
Teach the RunCMake test framework to support matching the configure log.
Issue: #23200
Diffstat (limited to 'Source/cmake.h')
-rw-r--r-- | Source/cmake.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Source/cmake.h b/Source/cmake.h index 325c0c5..10db87d 100644 --- a/Source/cmake.h +++ b/Source/cmake.h @@ -37,6 +37,7 @@ # include "cmMakefileProfilingData.h" #endif +class cmConfigureLog; class cmExternalMakefileProjectGeneratorFactory; class cmFileAPI; class cmFileTimeCache; @@ -521,6 +522,10 @@ public: void SetTraceFile(std::string const& file); void PrintTraceFormatVersion(); +#ifndef CMAKE_BOOTSTRAP + cmConfigureLog* GetConfigureLog() const { return this->ConfigureLog.get(); } +#endif + //! Use trace from another ::cmake instance. void SetTraceRedirect(cmake* other); @@ -714,6 +719,9 @@ private: TraceFormat TraceFormatVar = TRACE_HUMAN; cmGeneratedFileStream TraceFile; cmake* TraceRedirect = nullptr; +#ifndef CMAKE_BOOTSTRAP + std::unique_ptr<cmConfigureLog> ConfigureLog; +#endif bool WarnUninitialized = false; bool WarnUnusedCli = true; bool CheckSystemVars = false; |