CMake/Source/cmVisualStudio10ToolsetOptions.h
Don Olmstead 69fc7bf87d VS: Choose flag map based on the toolset name
MSBuild interprets the `.vcxproj` content based on the `PlatformToolset`
setting, so our reverse mapping needs to be based on that setting too.
For VS 2010 and above, choose the flag map to match the toolset name
rather than the generator VS version.

Issue: #16153
2016-10-25 09:46:21 -04:00

34 lines
1.3 KiB
C++

/* 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 "cmStandardIncludes.h"
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* 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