resolve cyclic dependency with zstd
[platform/upstream/cmake.git] / Source / cmTargetExport.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 "cmConfigure.h" // IWYU pragma: keep
6
7 #include <string>
8
9 class cmFileSet;
10 class cmGeneratorTarget;
11 class cmInstallCxxModuleBmiGenerator;
12 class cmInstallFileSetGenerator;
13 class cmInstallFilesGenerator;
14 class cmInstallTargetGenerator;
15
16 /** \brief A member of an ExportSet
17  *
18  * This struct holds pointers to target and all relevant generators.
19  */
20 class cmTargetExport
21 {
22 public:
23   std::string TargetName;
24   cmGeneratorTarget* Target;
25
26   ///@name Generators
27   ///@{
28   cmInstallTargetGenerator* ArchiveGenerator;
29   cmInstallTargetGenerator* RuntimeGenerator;
30   cmInstallTargetGenerator* LibraryGenerator;
31   cmInstallTargetGenerator* ObjectsGenerator;
32   cmInstallTargetGenerator* FrameworkGenerator;
33   cmInstallTargetGenerator* BundleGenerator;
34   cmInstallFilesGenerator* HeaderGenerator;
35   std::map<cmFileSet*, cmInstallFileSetGenerator*> FileSetGenerators;
36   cmInstallCxxModuleBmiGenerator* CxxModuleBmiGenerator;
37   ///@}
38
39   bool NamelinkOnly = false;
40 };