diff options
author | Don Olmstead <don.j.olmstead@gmail.com> | 2016-10-18 00:50:34 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-10-25 13:46:21 (GMT) |
commit | 69fc7bf87db33d88af02602fba811b5c5e740a70 (patch) | |
tree | 9c506a4e79bc0912107d78cb1f05368399f18c53 /Source/cmVisualStudio10ToolsetOptions.h | |
parent | e2ed9a70929092ab7b32e036886859e53fbff897 (diff) | |
download | CMake-69fc7bf87db33d88af02602fba811b5c5e740a70.zip CMake-69fc7bf87db33d88af02602fba811b5c5e740a70.tar.gz CMake-69fc7bf87db33d88af02602fba811b5c5e740a70.tar.bz2 |
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
Diffstat (limited to 'Source/cmVisualStudio10ToolsetOptions.h')
-rw-r--r-- | Source/cmVisualStudio10ToolsetOptions.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Source/cmVisualStudio10ToolsetOptions.h b/Source/cmVisualStudio10ToolsetOptions.h new file mode 100644 index 0000000..ea6c9c8 --- /dev/null +++ b/Source/cmVisualStudio10ToolsetOptions.h @@ -0,0 +1,33 @@ +/* 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 |