summaryrefslogtreecommitdiffstats
path: root/Source/cmVisualStudio10ToolsetOptions.h
blob: c736a49f55b0b58a353bba2010906fe8c006637d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
   file Copyright.txt or https://cmake.org/licensing for details.  */
#ifndef cmVisualStudio10ToolsetOptions_h
#define cmVisualStudio10ToolsetOptions_h

#include "cmConfigure.h" // IWYU pragma: keep

#include <string>

struct cmIDEFlagTable;

/** \class cmVisualStudio10ToolsetOptions
 * \brief Retrieves toolset options for MSBuild.
 *
 * cmVisualStudio10ToolsetOptions manages toolsets within MSBuild
 */
class cmVisualStudio10ToolsetOptions
{
public:
  cmIDEFlagTable const* GetClFlagTable(std::string const& name,
                                       std::string const& toolset) const;
  cmIDEFlagTable const* GetCSharpFlagTable(std::string const& name,
                                           std::string const& toolset) const;
  cmIDEFlagTable const* GetRcFlagTable(std::string const& name,
                                       std::string const& toolset) const;
  cmIDEFlagTable const* GetLibFlagTable(std::string const& name,
                                        std::string const& toolset) const;
  cmIDEFlagTable const* GetLinkFlagTable(std::string const& name,
                                         std::string const& toolset) const;
  cmIDEFlagTable const* GetMasmFlagTable(std::string const& name,
                                         std::string const& toolset) const;

private:
  std::string GetToolsetName(std::string const& name,
                             std::string const& toolset) const;
};
#endif