| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | 
							- /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
 
-    file LICENSE.rst or https://cmake.org/licensing for details.  */
 
- #pragma once
 
- #include "cmConfigure.h" // IWYU pragma: keep
 
- #include <iosfwd>
 
- #include <string>
 
- #include <cm/optional>
 
- #include "cmGeneratorTarget.h"
 
- #include "cmGlobalVisualStudioGenerator.h"
 
- #include "cmIDEFlagTable.h"
 
- #include "cmIDEOptions.h"
 
- class cmLocalVisualStudioGenerator;
 
- using cmVS7FlagTable = cmIDEFlagTable;
 
- class cmVisualStudioGeneratorOptions : public cmIDEOptions
 
- {
 
- public:
 
-   // Construct an options table for a given tool.
 
-   enum Tool
 
-   {
 
-     Compiler,
 
-     ResourceCompiler,
 
-     CudaCompiler,
 
-     MarmasmCompiler,
 
-     MasmCompiler,
 
-     NasmCompiler,
 
-     Linker,
 
-     FortranCompiler,
 
-     CSharpCompiler
 
-   };
 
-   cmVisualStudioGeneratorOptions(cmLocalVisualStudioGenerator* lg, Tool tool,
 
-                                  cmVS7FlagTable const* table = nullptr,
 
-                                  cmVS7FlagTable const* extraTable = nullptr);
 
-   // Add a table of flags.
 
-   void AddTable(cmVS7FlagTable const* table);
 
-   // Clear the flag tables.
 
-   void ClearTables();
 
-   // Store options from command line flags.
 
-   void Parse(std::string const& flags);
 
-   void ParseFinish();
 
-   void PrependInheritedString(std::string const& key);
 
-   // Parse the content of the given flag table entry again to extract
 
-   // known flags and leave the rest in the original entry.
 
-   void Reparse(std::string const& key);
 
-   // Fix the ExceptionHandling option to default to off.
 
-   void FixExceptionHandlingDefault();
 
-   // Store options for verbose builds.
 
-   void SetVerboseMakefile(bool verbose);
 
-   // Check for specific options.
 
-   bool UsingUnicode() const;
 
-   bool UsingSBCS() const;
 
-   void FixCudaCodeGeneration();
 
-   void FixManifestUACFlags();
 
-   bool UsingDebugInfo() const;
 
-   cm::optional<bool> UsingDebugRuntime() const;
 
-   bool IsWinRt() const;
 
-   bool IsManaged() const;
 
-   // Write options to output.
 
-   void OutputPreprocessorDefinitions(std::ostream& fout, int indent,
 
-                                      std::string const& lang);
 
-   void OutputAdditionalIncludeDirectories(std::ostream& fout, int indent,
 
-                                           std::string const& lang);
 
-   void OutputFlagMap(std::ostream& fout, int indent);
 
-   void SetConfiguration(std::string const& config);
 
-   std::string const& GetConfiguration() const;
 
- protected:
 
-   virtual void OutputFlag(std::ostream& fout, int indent,
 
-                           std::string const& tag,
 
-                           std::string const& content) = 0;
 
- private:
 
-   cmLocalVisualStudioGenerator* LocalGenerator;
 
-   std::string Configuration;
 
-   Tool CurrentTool;
 
-   bool FortranRuntimeDebug;
 
-   bool FortranRuntimeDLL;
 
-   bool FortranRuntimeMT;
 
-   std::string UnknownFlagField;
 
-   mutable cm::optional<cmGeneratorTarget::MsvcCharSet> CachedCharset;
 
-   void StoreUnknownFlag(std::string const& flag) override;
 
-   FlagValue TakeFlag(std::string const& key);
 
-   void CacheCharsetValue() const;
 
- };
 
 
  |