cmIDEFlagTable.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. file Copyright.txt or https://cmake.org/licensing for details. */
  3. #ifndef cmIDEFlagTable_h
  4. #define cmIDEFlagTable_h
  5. // This is a table mapping XML tag IDE names to command line options
  6. struct cmIDEFlagTable
  7. {
  8. const char* IDEName; // name used in the IDE xml file
  9. const char* commandFlag; // command line flag
  10. const char* comment; // comment
  11. const char* value; // string value
  12. unsigned int special; // flags for special handling requests
  13. enum
  14. {
  15. UserValue = (1 << 0), // flag contains a user-specified value
  16. UserIgnored = (1 << 1), // ignore any user value
  17. UserRequired = (1 << 2), // match only when user value is non-empty
  18. Continue = (1 << 3), // continue looking for matching entries
  19. SemicolonAppendable = (1 << 4), // a flag that if specified multiple times
  20. // should have its value appended to the
  21. // old value with semicolons (e.g.
  22. // /NODEFAULTLIB: =>
  23. // IgnoreDefaultLibraryNames)
  24. UserFollowing = (1 << 5), // expect value in following argument
  25. CaseInsensitive = (1 << 6), // flag may be any case
  26. SpaceAppendable = (1 << 7), // a flag that if specified multiple times
  27. // should have its value appended to the
  28. // old value with spaces
  29. UserValueIgnored = UserValue | UserIgnored,
  30. UserValueRequired = UserValue | UserRequired
  31. };
  32. };
  33. #endif