21 #include <qmessagebox.h>
28 static QtMessageHandler old_handler;
30 static void MyQTMessageHandler(QtMsgType type,
const QMessageLogContext& context,
const QString& message)
32 if (old_handler != NULL)
34 old_handler(type, context, message);
49 selected = QMessageBox::critical(NULL,
"Attention !", message,
"Debug",
"Continue",
"Quit");
58 else if (selected == 1)
62 else if (selected == 2)
71 static int tyMain(
int argc,
char** argv)
75 old_handler = qInstallMessageHandler(MyQTMessageHandler);
81 success = tyApp.run();
89 qInstallMessageHandler(old_handler);
93 success ? ret = 0 : ret = 1;
98 bool setenv(
const char* pVarEnvName, QString& pVarEnvValue,
bool pForceUpdate)
101 QString currentVarEnvValue = QString::fromLocal8Bit(qgetenv(pVarEnvName));
102 if (currentVarEnvValue !=
"" && !pForceUpdate)
105 currentVarEnvValue.toUtf8().data());
106 pVarEnvValue = currentVarEnvValue;
111 pVarEnvValue.toUtf8().data());
112 ret = qputenv(pVarEnvName, pVarEnvValue.toUtf8());
120 const QChar
SEP = QDir::listSeparator();
122 const char* PLUGINS =
"/pluginsd";
123 const char* CYTHON =
"/cython_d";
125 const char* PLUGINS =
"/plugins";
126 const char* CYTHON =
"/cython";
129 const QString TYMPAN_INSTALL_DIR = QDir::currentPath();
132 ret |= qputenv(
"PYTHONIOENCODING",
"UTF8");
134 QString TYMPAN_INSTALL_PATH = QString(TYMPAN_INSTALL_DIR);
135 ret |=
setenv(
"TYMPAN_INSTALL_PATH", TYMPAN_INSTALL_PATH,
false);
137 QString PYTHONTYMPAN = TYMPAN_INSTALL_DIR + QString(
"/Python310");
138 ret |=
setenv(
"PYTHONTYMPAN", PYTHONTYMPAN,
false);
140 QString TYMPAN_SOLVERDIR = TYMPAN_INSTALL_DIR + QString(PLUGINS);
141 ret |=
setenv(
"TYMPAN_SOLVERDIR", TYMPAN_SOLVERDIR,
false);
143 QString CGAL_BINDINGS_PATH = TYMPAN_INSTALL_DIR + CYTHON + QString(
"/CGAL");
144 ret |=
setenv(
"CGAL_BINDINGS_PATH", CGAL_BINDINGS_PATH,
false);
146 QString TYMPAN_PYTHON_INTERP = PYTHONTYMPAN + QString(
"/python.exe");
147 ret |=
setenv(
"TYMPAN_PYTHON_INTERP", TYMPAN_PYTHON_INTERP,
false);
149 QString PYTHONPATH = TYMPAN_INSTALL_DIR + CYTHON +
SEP + PYTHONTYMPAN +
SEP + PYTHONTYMPAN +
"/DLLs" +
150 SEP + PYTHONTYMPAN +
"/Lib" +
SEP + PYTHONTYMPAN +
"/Lib/site-packages" +
SEP +
153 ret |=
setenv(
"PYTHONPATH", PYTHONPATH,
false);
155 QString PATH = TYMPAN_INSTALL_DIR +
SEP + PYTHONTYMPAN +
SEP + PYTHONTYMPAN +
"/DLLs" +
SEP +
156 PYTHONTYMPAN +
"/Lib" +
SEP + PYTHONTYMPAN +
"/Scripts";
157 ret |=
setenv(
"PATH", PATH,
true);
159 QString LD_LIBRARY_PATH = TYMPAN_INSTALL_DIR +
"/lib" +
SEP + TYMPAN_INSTALL_DIR + CYTHON +
SEP +
160 TYMPAN_INSTALL_DIR + CYTHON + QString(
"/CGAL");
161 ret |=
setenv(
"LD_LIBRARY_PATH", LD_LIBRARY_PATH,
false);
163 ret |=
setenv(
"PYTHONLEGACYWINDOWSSTDIO", QString(
"1"),
false);
168 int main(
int argc,
char** argv)
171 bool ret_setenv =
true;
181 ret = tyMain(argc, argv);
pour l'application Tympan (fichier header)
virtual void debug(const char *message,...)
static OMessageManager * get()
virtual void info(const char *message,...)
Classe principale pour l'application Tympan.
static uint64 getConstructorCount()
static uint64 getIdGenerationCount()
static uint64 getDestructorCount()
int main(int argc, char **argv)
bool setenv(const char *pVarEnvName, QString &pVarEnvValue, bool pForceUpdate)