Beispiel #1
0
        private QtModuleInfo InitQtModule(QtModule moduleId, string libraryPrefix, string[] defines)
        {
            var moduleInfo = new QtModuleInfo(moduleId);

            moduleInfo.LibraryPrefix = libraryPrefix;
            moduleInfo.IncludePath   = "$(QTDIR)\\include\\" + libraryPrefix;
            moduleInfo.Defines       = new List <string>();
            dictModulesByDLL.Add(libraryPrefix, moduleId);
            foreach (var str in defines)
            {
                if (string.IsNullOrEmpty(str))
                {
                    continue;
                }
                moduleInfo.Defines.Add(str);
            }
            dictModuleInfos.Add(moduleId, moduleInfo);

            if (libraryPrefix.StartsWith("Qt", StringComparison.Ordinal))
            {
                moduleInfo.proVarQT = libraryPrefix.Substring(2).ToLower();
            }
            else
            {
                moduleInfo.proVarQT = libraryPrefix.ToLower();
            }

            return(moduleInfo);
        }
Beispiel #2
0
        private QtModules()
        {
            QtModuleInfo moduleInfo = null;

            var uri = new Uri(
                System.Reflection.Assembly.GetExecutingAssembly().EscapedCodeBase);
            var pkgInstallPath = Path.GetDirectoryName(
                Uri.UnescapeDataString(uri.AbsolutePath)) + @"\";
            var modulesFile = Path.Combine(pkgInstallPath, "qtmodules.xml");

            if (File.Exists(modulesFile))
            {
                var       xmlText = File.ReadAllText(modulesFile, Encoding.UTF8);
                XDocument xml     = null;
                try {
                    using (var reader = XmlReader.Create(new StringReader(xmlText))) {
                        xml = XDocument.Load(reader);
                    }
                } catch { }
                if (xml != null)
                {
                    foreach (var xModule in xml.Elements("QtVsTools").Elements("Module"))
                    {
                        var      id       = (string)xModule.Attribute("Id");
                        QtModule moduleId = (QtModule)Convert.ToUInt32(id);
                        moduleInfo               = new QtModuleInfo(moduleId);
                        moduleInfo.Name          = (string)xModule.Element("Name");
                        moduleInfo.ResourceName  = (string)xModule.Element("ResourceName");
                        moduleInfo.Selectable    = ((string)xModule.Element("Selectable") == "true");
                        moduleInfo.LibraryPrefix = (string)xModule.Element("LibraryPrefix");
                        moduleInfo.HasDLL        = ((string)xModule.Element("HasDLL") == "true");
                        moduleInfo.proVarQT      = (string)xModule.Element("proVarQT");
                        moduleInfo.proVarCONFIG  = (string)xModule.Element("proVarCONFIG");
                        moduleInfo.IncludePath   = xModule.Elements("IncludePath")
                                                   .Select(x => x.Value).ToList();
                        moduleInfo.Defines = xModule.Elements("Defines")
                                             .Select(x => x.Value).ToList();
                        moduleInfo.AdditionalLibraries = xModule.Elements("AdditionalLibraries")
                                                         .Select(x => x.Value).ToList();
                        moduleInfo.AdditionalLibrariesDebug =
                            xModule.Elements("AdditionalLibrariesDebug")
                            .Select(x => x.Value).ToList();
                        dictModulesByDLL.Add(moduleInfo.LibraryPrefix, moduleId);
                        dictModuleInfos.Add(moduleId, moduleInfo);
                    }
                }
            }
        }
Beispiel #3
0
        private QtModules()
        {
            QtModuleInfo moduleInfo = null;

            InitQtModule(QtModule.Core, "QtCore", "QT_CORE_LIB");
            InitQtModule(QtModule.Multimedia, "QtMultimedia", "QT_MULTIMEDIA_LIB");
            InitQtModule(QtModule.Sql, "QtSql", "QT_SQL_LIB");
            InitQtModule(QtModule.Network, "QtNetwork", "QT_NETWORK_LIB");
            InitQtModule(QtModule.Xml, "QtXml", "QT_XML_LIB");
            InitQtModule(QtModule.Script, "QtScript", "QT_SCRIPT_LIB");
            InitQtModule(QtModule.XmlPatterns, "QtXmlPatterns", "QT_XMLPATTERNS_LIB");
            moduleInfo             = InitQtModule(QtModule.ScriptTools, "QtScriptTools", "QT_SCRIPTTOOLS_LIB");
            moduleInfo             = InitQtModule(QtModule.Designer, "QtDesigner", new[] { "QDESIGNER_EXPORT_WIDGETS", "QT_DESIGNER_LIB" });
            moduleInfo             = InitQtModule(QtModule.Main, "qtmain", string.Empty);
            moduleInfo.proVarQT    = null;
            moduleInfo.HasDLL      = false;
            moduleInfo.IncludePath = null;

            moduleInfo              = InitQtModule(QtModule.Test, "QtTest", "QT_TESTLIB_LIB");
            moduleInfo.proVarQT     = null;
            moduleInfo.proVarCONFIG = "qtestlib";

            moduleInfo              = InitQtModule(QtModule.Help, "QtHelp", "QT_HELP_LIB");
            moduleInfo.proVarQT     = null;
            moduleInfo.proVarCONFIG = "help";
            moduleInfo              = InitQtModule(QtModule.WebKit, "QtWebKit", string.Empty);

            moduleInfo = InitQtModule(QtModule.Svg, "QtSvg", "QT_SVG_LIB");

            moduleInfo = InitQtModule(QtModule.Declarative, "QtDeclarative", "QT_DECLARATIVE_LIB");

            moduleInfo = InitQtModule(QtModule.OpenGL, "QtOpenGL", "QT_OPENGL_LIB");
            moduleInfo.AdditionalLibraries.Add("opengl32.lib");
            moduleInfo.AdditionalLibraries.Add("glu32.lib");

            moduleInfo             = InitQtModule(QtModule.ActiveQtS, "QtAxServer", "QAXSERVER");
            moduleInfo.HasDLL      = false;
            moduleInfo.IncludePath = "$(QTDIR)\\include\\ActiveQt";
            moduleInfo.AdditionalLibraries.Add("Qt5AxBase.lib");
            moduleInfo.AdditionalLibrariesDebug.Add("Qt5AxBased.lib");

            moduleInfo             = InitQtModule(QtModule.ActiveQtC, "QtAxContainer", string.Empty);
            moduleInfo.HasDLL      = false;
            moduleInfo.IncludePath = "$(QTDIR)\\include\\ActiveQt";
            moduleInfo.AdditionalLibraries.Add("Qt5AxBase.lib");
            moduleInfo.AdditionalLibrariesDebug.Add("Qt5AxBased.lib");

            moduleInfo        = InitQtModule(QtModule.UiTools, "QtUiTools", "QT_UITOOLS_LIB");
            moduleInfo.HasDLL = false;

            // Qt5
            InitQtModule(QtModule.Widgets, "QtWidgets", "QT_WIDGETS_LIB");

            moduleInfo = InitQtModule(QtModule.Gui, "QtGui", "QT_GUI_LIB");

            InitQtModule(QtModule.ThreeD, "Qt3D", "QT_3D_LIB");
            InitQtModule(QtModule.Location, "QtLocation", "QT_LOCATION_LIB");

            InitQtModule(QtModule.Qml, "QtQml", "QT_QML_LIB");
            moduleInfo = InitQtModule(QtModule.Bluetooth, "QtBluetooth", "QT_BLUETOOTH_LIB");
            InitQtModule(QtModule.PrintSupport, "QtPrintSupport", "QT_PRINTSUPPORT_LIB");

            moduleInfo = InitQtModule(QtModule.Sensors, "QtSensors", "QT_SENSORS_LIB");
            InitQtModule(QtModule.Quick, "QtQuick", "QT_QUICK_LIB");

            InitQtModule(QtModule.ThreeDQuick, "Qt3DQuick", "QT_3DQUICK_LIB");

            InitQtModule(QtModule.WebkitWidgets, "QtWebkitWidgets", "QT_WEBKITWIDGETS_LIB");

            InitQtModule(QtModule.Concurrent, "QtConcurrent", "QT_CONCURRENT_LIB");
            InitQtModule(QtModule.MultimediaWidgets, "QtMultimediaWidgets", "QT_MULTIMEDIAWIDGETS_LIB");

            moduleInfo = InitQtModule(QtModule.Enginio, "Enginio", "QT_ENGINIO_LIB");

            InitQtModule(QtModule.Nfc, "QtNfc", "QT_NFC_LIB");
            InitQtModule(QtModule.Positioning, "QtPositioning", "QT_POSITIONING_LIB");
            InitQtModule(QtModule.SerialPort, "QtSerialPort", "QT_SERIALPORT_LIB");
            InitQtModule(QtModule.WebChannel, "QtWebChannel", "QT_WEBCHANNEL_LIB");
            moduleInfo = InitQtModule(QtModule.WebSockets, "QtWebSockets", "QT_WEBSOCKETS_LIB");
            InitQtModule(QtModule.WindowsExtras, "QtWinExtras", "QT_WINEXTRAS_LIB");
            InitQtModule(QtModule.QuickWidgets, "QtQuickWidgets", "QT_QUICKWIDGETS_LIB");
        }