コード例 #1
0
ファイル: CppCmd Working.cs プロジェクト: VLiance/Cwc-src
        public CppCmd(ArgumentManager _oParent, string _sCmd)
        {
            oParent = _oParent;
            sCmd    = _sCmd;
            string _sPrecArg = "";

            ///Check for existing directory
            string[] _aArg = _sCmd.Split('-');
            foreach (string _sArg in _aArg)
            {
                if (!FileUtils.IsEmpty(_sArg))
                {
                    _sPrecArg = _sArg;
                    string[] _aCmd     = _sArg.Split(' ', '=', '+');
                    string   _sCmdName = _aCmd[0].Trim();


                    if (!Program.bNowBuilding)
                    {
                        return;
                    }

                    if (!FileUtils.IsEmpty(_sCmdName))
                    {
                        //2 arg cmd analyse
                        // if(_aSub.Length >= 2) {
                        switch (_sCmdName)
                        {
                        case "I":
                            fIncludePath(fExtractSpaceVal(_sArg));

                            break;

                        case "o":
                            fOutputCmd(fExtractSpaceVal(_sArg), _sPrecArg);
                            break;
                        }

                        //-wBuild=Sanitize "|"^
                        //By first letter
                        switch (_sCmdName[0])
                        {
                        case 'w':
                            fCwcCommand(_sCmdName, _sArg);

                            break;
                        }
                    }
                    // }
                }
            }


            if (!bLink)
            {
                oDepandance = new Depandance(this, sOutputFile);
                bSkip       = !oDepandance.bHaveNewerFile;
            }
        }