resolve cyclic dependency with zstd
[platform/upstream/cmake.git] / Source / cmLocalGhsMultiGenerator.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
5 #include <map>
6 #include <string>
7
8 #include "cmLocalGenerator.h"
9
10 class cmGeneratorTarget;
11 class cmGlobalGenerator;
12 class cmMakefile;
13 class cmSourceFile;
14
15 /** \class cmLocalGhsMultiGenerator
16  * \brief Write Green Hills MULTI project files.
17  *
18  * cmLocalGhsMultiGenerator produces a set of .gpj
19  * file for each target in its mirrored directory.
20  */
21 class cmLocalGhsMultiGenerator : public cmLocalGenerator
22 {
23 public:
24   cmLocalGhsMultiGenerator(cmGlobalGenerator* gg, cmMakefile* mf);
25
26   ~cmLocalGhsMultiGenerator() override;
27
28   /**
29    * Generate the makefile for this directory.
30    */
31   void Generate() override;
32
33   std::string GetTargetDirectory(
34     cmGeneratorTarget const* target) const override;
35
36   void ComputeObjectFilenames(
37     std::map<cmSourceFile const*, std::string>& mapping,
38     cmGeneratorTarget const* gt = nullptr) override;
39 };