| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 | 
							- // CMakeCommandLineInfo.cpp : command line arguments
 
- //
 
- #include "stdafx.h"
 
- #include "CMakeCommandLineInfo.h" 
 
- #ifdef _DEBUG
 
- #define new DEBUG_NEW
 
- #undef THIS_FILE
 
- static char THIS_FILE[] = __FILE__;
 
- #endif 
 
- ///////////////////////////////////////////////////////////////
 
- // CMakeCommandLineInfo 
 
- CMakeCommandLineInfo::CMakeCommandLineInfo()
 
- {
 
-   m_WhereSource = _T("");
 
-   m_WhereBuild = _T("");
 
-   m_AdvancedValues = FALSE;
 
-   m_GeneratorChoiceString = _T("");
 
- } 
 
- CMakeCommandLineInfo::~CMakeCommandLineInfo()
 
- {
 
- } 
 
- int CMakeCommandLineInfo::GetBoolValue(const CString& v) {
 
-   CString value = v;
 
-   value.MakeLower();
 
-   if (value == "1" || 
 
-       value == "on" || 
 
-       value == "true" || 
 
-       value == "yes")
 
-     {
 
-     return 1;
 
-     }
 
-   else if (value == "0" || 
 
-            value == "off" || 
 
-            value == "false" || 
 
-            value == "no")
 
-     {
 
-     return -1;
 
-     }
 
-   return 0;
 
- }
 
- ///////////////////////////////////////////////////////////////
 
- // Parse param
 
- void CMakeCommandLineInfo::ParseParam(LPCTSTR lpszParam, BOOL bFlag, BOOL bLast)
 
- {
 
-   if(bFlag) 
 
-     {
 
-     CString sParam(lpszParam);
 
-     // Single letter valued flag like /B=value or /B:value
 
-     if (sParam[1] == '=' || sParam[1] == ':')
 
-       {
 
-       CString value(sParam.Right(sParam.GetLength() - 2));
 
-       int res;
 
-       switch (sParam[0])
 
-         {
 
-         case 'A':
 
-           res = CMakeCommandLineInfo::GetBoolValue(value);
 
-           if (res == 1)
 
-             {
 
-             m_AdvancedValues = TRUE;
 
-             }
 
-           else if (res == -1)
 
-             {
 
-             m_AdvancedValues = FALSE;
 
-             }
 
-           break;
 
-         case 'B':
 
-           m_WhereBuild = value;
 
-           break;
 
-         case 'G':
 
-           m_GeneratorChoiceString = value;
 
-           break;
 
-         case 'H':
 
-           m_WhereSource = value;
 
-           break;
 
-         }
 
-       }
 
-     }
 
-   // Call the base class to ensure proper command line processing
 
-   CCommandLineInfo::ParseParam(lpszParam, bFlag, bLast);
 
- }
 
 
  |