diff options
Diffstat (limited to 'Source/cmIDEFlagTable.h')
-rw-r--r-- | Source/cmIDEFlagTable.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/Source/cmIDEFlagTable.h b/Source/cmIDEFlagTable.h new file mode 100644 index 0000000..ff93432 --- /dev/null +++ b/Source/cmIDEFlagTable.h @@ -0,0 +1,41 @@ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing for details. */ +#ifndef cmIDEFlagTable_h +#define cmIDEFlagTable_h + +#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 + }; +}; + +#endif |