| /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying |
| file Copyright.txt or https://cmake.org/licensing for details. */ |
| #pragma once |
| |
| #include <string> |
| |
| // This is a table mapping XML tag IDE names to command line options |
| struct cmIDEFlagTable |
| { |
| std::string IDEName; // name used in the IDE xml file |
| std::string commandFlag; // command line flag |
| std::string comment; // comment |
| std::string value; // string value |
| unsigned int special; // flags for special handling requests |
| enum |
| { |
| UserValue = (1 << 0), // flag contains a user-specified value |
| UserIgnored = (1 << 1), // ignore any user value |
| UserRequired = (1 << 2), // match only when user value is non-empty |
| Continue = (1 << 3), // continue looking for matching entries |
| SemicolonAppendable = (1 << 4), // a flag that if specified multiple times |
| // should have its value appended to the |
| // old value with semicolons (e.g. |
| // /NODEFAULTLIB: => |
| // IgnoreDefaultLibraryNames) |
| UserFollowing = (1 << 5), // expect value in following argument |
| CaseInsensitive = (1 << 6), // flag may be any case |
| SpaceAppendable = (1 << 7), // a flag that if specified multiple times |
| // should have its value appended to the |
| // old value with spaces |
| CommaAppendable = (1 << 8), // a flag that if specified multiple times |
| // should have its value appended to the |
| // old value with commas (e.g. C# /nowarn |
| |
| UserValueIgnored = UserValue | UserIgnored, |
| UserValueRequired = UserValue | UserRequired |
| }; |
| }; |