Example #1
0
        public override void LoadCurrent(Project prj)
        {
            var p = ManagedProject = prj as DProject;

            if (p == null)
            {
                return;
            }

            if (p.DMDVersion == DVersion.D1)
            {
                Combo_DVersion.SelectedIndex = 0;
            }
            else
            {
                Combo_DVersion.SelectedIndex = 1;
            }

            Check_Release.IsChecked = p.IsRelease;

            Libs.Clear();
            foreach (var l in p.LinkedLibraries)
            {
                Libs.Add(l);
            }

            if (Libs.Count > 0)
            {
                List_Libs.SelectedIndex = 0;
            }

            comboBox_PrjType.SelectedIndex = (int)p.OutputType;
        }
Example #2
0
        public override void LoadCurrent()
        {
            textBox_BaseDirectory.Text = Config.BaseDirectory;

            textBox_SrcCompiler.Text   = Config.SoureCompiler;
            textBox_Win32Linker.Text   = Config.Win32ExeLinker;
            textBox_ConsoleLinker.Text = Config.ExeLinker;
            textBox_DllLinker.Text     = Config.DllLinker;
            textBox_LibLinker.Text     = Config.LibLinker;

            Libs.Clear();
            foreach (var l in Config.DefaultLinkedLibraries)
            {
                Libs.Add(l);
            }

            if (Libs.Count > 0)
            {
                List_DefaultLibs.SelectedIndex = 0;
            }
        }
Example #3
0
        /// <summary>初始化</summary>
        /// <param name="addlib"></param>
        /// <returns></returns>
        public virtual Boolean Init(Boolean addlib = true)
        {
            var tp = ToolPath;

            if (tp.IsNullOrEmpty() || !Directory.Exists(tp))
            {
                XTrace.WriteLine("未找到编译器!");
                return(false);
            }

            XTrace.WriteLine("发现 {0} {1} {2}", Name, Version, tp);

            Libs.Clear();
            Objs.Clear();

            // 扫描当前所有目录,作为头文件引用目录
            //var ss = new String[] { ".", "..\\SmartOS" };
            var ss = new String[] { ".", "inc", "include", "lib" };

            foreach (var src in ss)
            {
                var p = src.GetFullPath();
                if (!Directory.Exists(p))
                {
                    p = ("..\\" + src).GetFullPath();
                }
                if (!Directory.Exists(p))
                {
                    continue;
                }

                AddIncludes(p, false);
                if (addlib)
                {
                    AddLibs(p);
                }
            }

            return(true);
        }