cmIDEFlagTable.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*=========================================================================
  2. Program: CMake - Cross-Platform Makefile Generator
  3. Module: $RCSfile$
  4. Language: C++
  5. Date: $Date$
  6. Version: $Revision$
  7. Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
  8. See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
  9. This software is distributed WITHOUT ANY WARRANTY; without even
  10. the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  11. PURPOSE. See the above copyright notices for more information.
  12. =========================================================================*/
  13. #ifndef cmIDEFlagTable_h
  14. #define cmIDEFlagTable_h
  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. UserValueIgnored = UserValue | UserIgnored,
  35. UserValueRequired = UserValue | UserRequired
  36. };
  37. };
  38. #endif