885ac7451d85fcb6c8c2eb3a2955ba6f484371cc
[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 cmInstallFileSetGenerator;
12 class cmInstallFilesGenerator;
13 class cmInstallTargetGenerator;
14
15 /** \brief A member of an ExportSet
16  *
17  * This struct holds pointers to target and all relevant generators.
18  */
19 class cmTargetExport
20 {
21 public:
22   std::string TargetName;
23   cmGeneratorTarget* Target;
24
25   ///@name Generators
26   ///@{
27   cmInstallTargetGenerator* ArchiveGenerator;
28   cmInstallTargetGenerator* RuntimeGenerator;
29   cmInstallTargetGenerator* LibraryGenerator;
30   cmInstallTargetGenerator* ObjectsGenerator;
31   cmInstallTargetGenerator* FrameworkGenerator;
32   cmInstallTargetGenerator* BundleGenerator;
33   cmInstallFilesGenerator* HeaderGenerator;
34   std::map<cmFileSet*, cmInstallFileSetGenerator*> FileSetGenerators;
35   ///@}
36
37   bool NamelinkOnly = false;
38 };