cmIDEFlagTable.h 1.6 KB

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