CMakeCommandLineInfo.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. // CMakeCommandLineInfo.h : main header file for the command line arguments
  14. //
  15. #if !defined(CMAKECOMMANDLINEINFO_H)
  16. #define CMAKECOMMANDLINEINFO_H
  17. #if _MSC_VER > 1000
  18. #pragma once
  19. #endif // _MSC_VER > 1000
  20. #ifndef __AFXWIN_H__
  21. #error include 'stdafx.h' before including this file for PCH
  22. #endif
  23. #include "../cmStandardIncludes.h"
  24. ///////////////////////////////////////////////////////////////
  25. // CMakeCommandLineInfo:
  26. // See CMakeCommandLineInfo.cpp for the implementation of this class
  27. //
  28. class CMakeCommandLineInfo : public CCommandLineInfo
  29. {
  30. // Construction
  31. public:
  32. CMakeCommandLineInfo();
  33. // Attributes
  34. public:
  35. CString m_WhereSource;
  36. CString m_WhereBuild;
  37. BOOL m_AdvancedValues;
  38. CString m_GeneratorChoiceString;
  39. CString m_LastUnknownParameter;
  40. int GetArgC() { return static_cast<int>(m_Argv.size()); }
  41. const char*const* GetArgV() { return &*m_Argv.begin(); }
  42. std::string m_Argv0;
  43. std::vector<cmStdString> m_Arguments;
  44. std::vector<const char*> m_Argv;
  45. // Operations
  46. public:
  47. void ParseParam(const TCHAR* pszParam, BOOL bFlag, BOOL bLast);
  48. // Implementation
  49. public:
  50. virtual ~CMakeCommandLineInfo();
  51. protected:
  52. static int GetBoolValue(const CString&);
  53. };
  54. #endif // !defined(CMAKECOMMANDLINEINFO_H)