| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240 | 
							- /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
 
-    file Copyright.txt or https://cmake.org/licensing for details.  */
 
- #ifndef cmVisualStudioTargetGenerator_h
 
- #define cmVisualStudioTargetGenerator_h
 
- #include "cmConfigure.h" // IWYU pragma: keep
 
- #include <iosfwd>
 
- #include <map>
 
- #include <memory>
 
- #include <set>
 
- #include <string>
 
- #include <vector>
 
- class cmComputeLinkInformation;
 
- class cmCustomCommand;
 
- class cmGeneratedFileStream;
 
- class cmGeneratorTarget;
 
- class cmGlobalVisualStudio10Generator;
 
- class cmLocalVisualStudio10Generator;
 
- class cmMakefile;
 
- class cmSourceFile;
 
- class cmSourceGroup;
 
- class cmVS10GeneratorOptions;
 
- class cmVisualStudio10TargetGenerator
 
- {
 
- public:
 
-   cmVisualStudio10TargetGenerator(cmGeneratorTarget* target,
 
-                                   cmGlobalVisualStudio10Generator* gg);
 
-   ~cmVisualStudio10TargetGenerator();
 
-   cmVisualStudio10TargetGenerator(cmVisualStudio10TargetGenerator const&) =
 
-     delete;
 
-   cmVisualStudio10TargetGenerator& operator=(
 
-     cmVisualStudio10TargetGenerator const&) = delete;
 
-   void Generate();
 
- private:
 
-   struct ToolSource
 
-   {
 
-     cmSourceFile const* SourceFile;
 
-     bool RelativePath;
 
-   };
 
-   struct ToolSources : public std::vector<ToolSource>
 
-   {
 
-   };
 
-   struct TargetsFileAndConfigs
 
-   {
 
-     std::string File;
 
-     std::vector<std::string> Configs;
 
-   };
 
-   struct Elem;
 
-   struct OptionsHelper;
 
-   std::string ConvertPath(std::string const& path, bool forceRelative);
 
-   std::string CalcCondition(const std::string& config) const;
 
-   void WriteProjectConfigurations(Elem& e0);
 
-   void WriteProjectConfigurationValues(Elem& e0);
 
-   void WriteMSToolConfigurationValues(Elem& e1, std::string const& config);
 
-   void WriteCEDebugProjectConfigurationValues(Elem& e0);
 
-   void WriteMSToolConfigurationValuesManaged(Elem& e1,
 
-                                              std::string const& config);
 
-   void WriteHeaderSource(Elem& e1, cmSourceFile const* sf);
 
-   void WriteExtraSource(Elem& e1, cmSourceFile const* sf);
 
-   void WriteNsightTegraConfigurationValues(Elem& e1,
 
-                                            std::string const& config);
 
-   void WriteSource(Elem& e2, cmSourceFile const* sf);
 
-   void WriteExcludeFromBuild(Elem& e2,
 
-                              std::vector<size_t> const& exclude_configs);
 
-   void WriteAllSources(Elem& e0);
 
-   void WritePackageReferences(Elem& e0);
 
-   void WriteDotNetReferences(Elem& e0);
 
-   void WriteDotNetReference(Elem& e1, std::string const& ref,
 
-                             std::string const& hint,
 
-                             std::string const& config);
 
-   void WriteDotNetDocumentationFile(Elem& e0);
 
-   void WriteImports(Elem& e0);
 
-   void WriteDotNetReferenceCustomTags(Elem& e2, std::string const& ref);
 
-   void WriteEmbeddedResourceGroup(Elem& e0);
 
-   void WriteWinRTReferences(Elem& e0);
 
-   void WriteWinRTPackageCertificateKeyFile(Elem& e0);
 
-   void WriteXamlFilesGroup(Elem& e0);
 
-   void WritePathAndIncrementalLinkOptions(Elem& e0);
 
-   void WriteItemDefinitionGroups(Elem& e0);
 
-   void VerifyNecessaryFiles();
 
-   void WriteMissingFiles(Elem& e1);
 
-   void WriteMissingFilesWP80(Elem& e1);
 
-   void WriteMissingFilesWP81(Elem& e1);
 
-   void WriteMissingFilesWS80(Elem& e1);
 
-   void WriteMissingFilesWS81(Elem& e1);
 
-   void WriteMissingFilesWS10_0(Elem& e1);
 
-   void WritePlatformExtensions(Elem& e1);
 
-   void WriteSinglePlatformExtension(Elem& e1, std::string const& extension,
 
-                                     std::string const& version);
 
-   void WriteSDKReferences(Elem& e0);
 
-   void WriteSingleSDKReference(Elem& e1, std::string const& extension,
 
-                                std::string const& version);
 
-   void WriteCommonMissingFiles(Elem& e1, const std::string& manifestFile);
 
-   void WriteTargetSpecificReferences(Elem& e0);
 
-   void WriteTargetsFileReferences(Elem& e1);
 
-   std::vector<std::string> GetIncludes(std::string const& config,
 
-                                        std::string const& lang) const;
 
-   bool ComputeClOptions();
 
-   bool ComputeClOptions(std::string const& configName);
 
-   void WriteClOptions(Elem& e1, std::string const& config);
 
-   bool ComputeRcOptions();
 
-   bool ComputeRcOptions(std::string const& config);
 
-   void WriteRCOptions(Elem& e1, std::string const& config);
 
-   bool ComputeCudaOptions();
 
-   bool ComputeCudaOptions(std::string const& config);
 
-   void WriteCudaOptions(Elem& e1, std::string const& config);
 
-   bool ComputeCudaLinkOptions();
 
-   bool ComputeCudaLinkOptions(std::string const& config);
 
-   void WriteCudaLinkOptions(Elem& e1, std::string const& config);
 
-   bool ComputeMasmOptions();
 
-   bool ComputeMasmOptions(std::string const& config);
 
-   void WriteMasmOptions(Elem& e1, std::string const& config);
 
-   bool ComputeNasmOptions();
 
-   bool ComputeNasmOptions(std::string const& config);
 
-   void WriteNasmOptions(Elem& e1, std::string const& config);
 
-   bool ComputeLinkOptions();
 
-   bool ComputeLinkOptions(std::string const& config);
 
-   bool ComputeLibOptions();
 
-   bool ComputeLibOptions(std::string const& config);
 
-   void WriteLinkOptions(Elem& e1, std::string const& config);
 
-   void WriteMidlOptions(Elem& e1, std::string const& config);
 
-   void WriteAntBuildOptions(Elem& e1, std::string const& config);
 
-   void OutputLinkIncremental(Elem& e1, std::string const& configName);
 
-   void WriteCustomRule(Elem& e0, cmSourceFile const* source,
 
-                        cmCustomCommand const& command);
 
-   void WriteCustomRuleCpp(Elem& e2, std::string const& config,
 
-                           std::string const& script,
 
-                           std::string const& additional_inputs,
 
-                           std::string const& outputs,
 
-                           std::string const& comment, bool symbolic);
 
-   void WriteCustomRuleCSharp(Elem& e0, std::string const& config,
 
-                              std::string const& commandName,
 
-                              std::string const& script,
 
-                              std::string const& inputs,
 
-                              std::string const& outputs,
 
-                              std::string const& comment);
 
-   void WriteCustomCommands(Elem& e0);
 
-   void WriteCustomCommand(Elem& e0, cmSourceFile const* sf);
 
-   void WriteGroups();
 
-   void WriteProjectReferences(Elem& e0);
 
-   void WriteApplicationTypeSettings(Elem& e1);
 
-   void OutputSourceSpecificFlags(Elem& e2, cmSourceFile const* source);
 
-   void AddLibraries(const cmComputeLinkInformation& cli,
 
-                     std::vector<std::string>& libVec,
 
-                     std::vector<std::string>& vsTargetVec,
 
-                     const std::string& config);
 
-   void AddTargetsFileAndConfigPair(std::string const& targetsFile,
 
-                                    std::string const& config);
 
-   void WriteLibOptions(Elem& e1, std::string const& config);
 
-   void WriteManifestOptions(Elem& e1, std::string const& config);
 
-   void WriteEvents(Elem& e1, std::string const& configName);
 
-   void WriteEvent(Elem& e1, std::string const& name,
 
-                   std::vector<cmCustomCommand> const& commands,
 
-                   std::string const& configName);
 
-   void WriteGroupSources(Elem& e0, std::string const& name,
 
-                          ToolSources const& sources,
 
-                          std::vector<cmSourceGroup>&);
 
-   void AddMissingSourceGroups(std::set<cmSourceGroup const*>& groupsUsed,
 
-                               const std::vector<cmSourceGroup>& allGroups);
 
-   bool IsResxHeader(const std::string& headerFile);
 
-   bool IsXamlHeader(const std::string& headerFile);
 
-   bool IsXamlSource(const std::string& headerFile);
 
-   bool ForceOld(const std::string& source) const;
 
-   void GetCSharpSourceProperties(cmSourceFile const* sf,
 
-                                  std::map<std::string, std::string>& tags);
 
-   void WriteCSharpSourceProperties(
 
-     Elem& e2, const std::map<std::string, std::string>& tags);
 
-   std::string GetCSharpSourceLink(cmSourceFile const* source);
 
- private:
 
-   friend class cmVS10GeneratorOptions;
 
-   using Options = cmVS10GeneratorOptions;
 
-   using OptionsMap = std::map<std::string, std::unique_ptr<Options>>;
 
-   OptionsMap ClOptions;
 
-   OptionsMap RcOptions;
 
-   OptionsMap CudaOptions;
 
-   OptionsMap CudaLinkOptions;
 
-   OptionsMap MasmOptions;
 
-   OptionsMap NasmOptions;
 
-   OptionsMap LinkOptions;
 
-   std::string LangForClCompile;
 
-   enum VsProjectType
 
-   {
 
-     vcxproj,
 
-     csproj
 
-   } ProjectType;
 
-   bool InSourceBuild;
 
-   std::vector<std::string> Configurations;
 
-   std::vector<TargetsFileAndConfigs> TargetsFileAndConfigsVec;
 
-   cmGeneratorTarget* const GeneratorTarget;
 
-   cmMakefile* const Makefile;
 
-   std::string const Platform;
 
-   std::string const Name;
 
-   std::string const GUID;
 
-   bool MSTools;
 
-   bool Managed;
 
-   bool NsightTegra;
 
-   unsigned int NsightTegraVersion[4];
 
-   bool TargetCompileAsWinRT;
 
-   std::set<std::string> IPOEnabledConfigurations;
 
-   std::map<std::string, std::string> SpectreMitigation;
 
-   cmGlobalVisualStudio10Generator* const GlobalGenerator;
 
-   cmLocalVisualStudio10Generator* const LocalGenerator;
 
-   std::set<std::string> CSharpCustomCommandNames;
 
-   bool IsMissingFiles;
 
-   std::vector<std::string> AddedFiles;
 
-   std::string DefaultArtifactDir;
 
-   bool AddedDefaultCertificate = false;
 
-   // managed C++/C# relevant members
 
-   using DotNetHintReference = std::pair<std::string, std::string>;
 
-   using DotNetHintReferenceList = std::vector<DotNetHintReference>;
 
-   using DotNetHintReferenceMap =
 
-     std::map<std::string, DotNetHintReferenceList>;
 
-   DotNetHintReferenceMap DotNetHintReferences;
 
-   using UsingDirectories = std::set<std::string>;
 
-   using UsingDirectoriesMap = std::map<std::string, UsingDirectories>;
 
-   UsingDirectoriesMap AdditionalUsingDirectories;
 
-   using ToolSourceMap = std::map<std::string, ToolSources>;
 
-   ToolSourceMap Tools;
 
-   std::string GetCMakeFilePath(const char* name) const;
 
- };
 
- #endif
 
 
  |