resolve cyclic dependency with zstd
[platform/upstream/cmake.git] / Source / cmMakefileProfilingData.h
1 /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
2    file Copyright.txt or https://cmake.org/licensing for details.  */
3 #pragma once
4 #include <memory>
5 #include <string>
6
7 #include "cmsys/FStream.hxx"
8
9 namespace Json {
10 class StreamWriter;
11 }
12
13 class cmListFileContext;
14 class cmListFileFunction;
15
16 class cmMakefileProfilingData
17 {
18 public:
19   cmMakefileProfilingData(const std::string&);
20   ~cmMakefileProfilingData() noexcept;
21   void StartEntry(const cmListFileFunction& lff, cmListFileContext const& lfc);
22   void StopEntry();
23
24 private:
25   cmsys::ofstream ProfileStream;
26   std::unique_ptr<Json::StreamWriter> JsonWriter;
27 };