##// END OF EJS Templates
Added static plugin support...
Added static plugin support In case of fully static exe even plugins must be static to allow single file executable. Small fix, when using resources in app from library they must be initialized with Q_INIT_RESOURCE. Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>

File last commit:

r1123:247dc18789c6
r1123:247dc18789c6
Show More
Main.cpp
89 lines | 2.8 KiB | text/x-c | CppLexer
Initialisation de l'application multithread avec le spimpl....
r21 /*------------------------------------------------------------------------------
-- This file is a part of the QLop Software
-- Copyright (C) 2015, Plasma Physics Laboratory - CNRS
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 2 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-------------------------------------------------------------------------------*/
/*-- Author : Alexis Jeandet
-- Mail : alexis.jeandet@member.fsf.org
----------------------------------------------------------------------------*/
Remove coverage from windows build...
r76 #include "MainWindow.h"
Initialisation de l'application multithread avec le spimpl....
r21 #include <QProcessEnvironment>
#include <QThread>
#include <SqpApplication.h>
#include <qglobal.h>
Added static plugin support...
r1123 #include <QtPlugin>
Alexandre Leroux
Loads SciQlop plugins
r85 #include <Plugin/PluginManager.h>
#include <QDir>
Alexandre Leroux
Minor refactoring...
r460 #include <QLoggingCategory>
Q_LOGGING_CATEGORY(LOG_Main, "Main")
Alexandre Leroux
Loads SciQlop plugins
r85 namespace {
const auto PLUGIN_DIRECTORY_NAME = QStringLiteral("plugins");
Some minor improvements on plugin loading:...
r652
Configuration update to permit make install on linux
r257
Alexandre Leroux
Loads SciQlop plugins
r85 } // namespace
Initialisation de l'application multithread avec le spimpl....
r21 int main(int argc, char *argv[])
{
Added static plugin support...
r1123 #ifdef QT_STATICPLUGIN
Q_IMPORT_PLUGIN(MockPlugin)
Q_IMPORT_PLUGIN(AmdaPlugin)
Q_INIT_RESOURCE(amdaresources);
#endif
Q_INIT_RESOURCE(sqpguiresources);
Alexandre Leroux
Minor fixes...
r32 SqpApplication a{argc, argv};
Initialisation de l'application multithread avec le spimpl....
r21 SqpApplication::setOrganizationName("LPP");
SqpApplication::setOrganizationDomain("lpp.fr");
SqpApplication::setApplicationName("SciQLop");
MainWindow w;
w.show();
Alexandre Leroux
Loads SciQlop plugins
r85 // Loads plugins
Some minor improvements on plugin loading:...
r652 auto pluginDir = QDir{a.applicationDirPath()};
auto pluginLookupPath = {
a.applicationDirPath(),
a.applicationDirPath() + "/" + PLUGIN_DIRECTORY_NAME,
a.applicationDirPath() + "/../lib64/SciQlop",
a.applicationDirPath() + "/../lib64/sciqlop",
a.applicationDirPath() + "/../lib/SciQlop",
a.applicationDirPath() + "/../lib/sciqlop",
a.applicationDirPath() + "/../plugins",
};
Configuration update to permit make install on linux
r257 #if _WIN32 || _WIN64
Alexandre Leroux
Loads SciQlop plugins
r85 pluginDir.mkdir(PLUGIN_DIRECTORY_NAME);
pluginDir.cd(PLUGIN_DIRECTORY_NAME);
Configuration update to permit make install on linux
r257 #endif
Some minor improvements on plugin loading:...
r652 PluginManager pluginManager{};
Alexandre Leroux
Loads SciQlop plugins
r85
Some minor improvements on plugin loading:...
r652 for (auto &&path : pluginLookupPath) {
QDir directory{path};
if (directory.exists()) {
qCDebug(LOG_Main())
<< QObject::tr("Plugin directory: %1").arg(directory.absolutePath());
pluginManager.loadPlugins(directory);
}
Implementation of the new Dela T computation strategy
r260 }
Added static plugin support...
r1123 pluginManager.loadStaticPlugins();
Alexandre Leroux
Loads SciQlop plugins
r85
Initialisation de l'application multithread avec le spimpl....
r21 return a.exec();
}