cmake/Source/cmIDEFlagTable.h

42 lines
1.9 KiB
C
Raw Normal View History

2016-10-30 18:24:19 +01:00
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
file Copyright.txt or https://cmake.org/licensing for details. */
2009-10-04 10:30:41 +03:00
#ifndef cmIDEFlagTable_h
#define cmIDEFlagTable_h
2019-11-11 23:01:05 +01:00
#include <string>
2009-10-04 10:30:41 +03:00
// This is a table mapping XML tag IDE names to command line options
struct cmIDEFlagTable
{
2019-11-11 23:01:05 +01:00
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
2016-07-09 11:21:54 +02:00
unsigned int special; // flags for special handling requests
2009-10-04 10:30:41 +03:00
enum
{
2016-07-09 11:21:54 +02:00
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
2017-07-20 19:35:53 +02:00
SpaceAppendable = (1 << 7), // a flag that if specified multiple times
// should have its value appended to the
// old value with spaces
2019-11-11 23:01:05 +01:00
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
2009-10-04 10:30:41 +03:00
2016-07-09 11:21:54 +02:00
UserValueIgnored = UserValue | UserIgnored,
2009-10-04 10:30:41 +03:00
UserValueRequired = UserValue | UserRequired
};
};
#endif