Imported Upstream version 2.8.9
[platform/upstream/cmake.git] / Source / cmIDEFlagTable.h
1 /*============================================================================
2   CMake - Cross Platform Makefile Generator
3   Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
4
5   Distributed under the OSI-approved BSD License (the "License");
6   see accompanying file Copyright.txt for details.
7
8   This software is distributed WITHOUT ANY WARRANTY; without even the
9   implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10   See the License for more information.
11 ============================================================================*/
12 #ifndef cmIDEFlagTable_h
13 #define cmIDEFlagTable_h
14
15 // This is a table mapping XML tag IDE names to command line options
16 struct cmIDEFlagTable
17 {
18   const char* IDEName;  // name used in the IDE xml file
19   const char* commandFlag; // command line flag
20   const char* comment;     // comment
21   const char* value; // string value
22   unsigned int special; // flags for special handling requests
23   enum
24   {
25     UserValue    = (1<<0), // flag contains a user-specified value
26     UserIgnored  = (1<<1), // ignore any user value
27     UserRequired = (1<<2), // match only when user value is non-empty
28     Continue     = (1<<3), // continue looking for matching entries
29     SemicolonAppendable = (1<<4), // a flag that if specified multiple times
30                                   // should have its value appended to the
31                                   // old value with semicolons (e.g.
32                                   // /NODEFAULTLIB: =>
33                                   // IgnoreDefaultLibraryNames)
34
35     UserValueIgnored  = UserValue | UserIgnored,
36     UserValueRequired = UserValue | UserRequired
37   };
38 };
39
40 #endif