make 'eql5' executable independant from source installation (e.g. for eql5 -qgui, Slime)

This commit is contained in:
polos 2019-02-27 21:47:39 +01:00
parent dbb1c6085e
commit b2c280bed4
26 changed files with 126 additions and 41 deletions

View file

@ -5,6 +5,46 @@
#include <iostream>
#include <eql5/eql.h>
void ini() {
QString home(QDir::homePath() + "/.eql5/");
if(!QFile::exists(home + "lib/gui.lisp")) {
QDir dir(QDir::homePath());
dir.mkdir(".eql5");
dir.setPath(home);
dir.mkdir("doc");
dir.mkdir("lib");
dir.mkdir("slime");
QStringList files = QStringList()
<< "doc/auto-doc.htm"
<< "doc/debug-dialog.png"
<< "doc/Debugging.htm"
<< "doc/Deploy.htm"
<< "doc/EQL.png"
<< "doc/EQL-Slime-Integration.htm"
<< "doc/index.html"
<< "doc/Notes.htm"
<< "doc/QtDesigner.htm"
<< "doc/QtLinguist.htm"
<< "doc/Slime.htm"
<< "doc/Slime-REPL-hook.htm"
<< "doc/style.css"
<< "lib/ecl-readline.lisp"
<< "lib/gui.lisp"
<< "lib/gui.ui"
<< "lib/invokables.lisp"
<< "lib/properties.lisp"
<< "lib/properties.ui"
<< "lib/qselect.lisp"
<< "lib/quic.lisp"
<< "lib/restart-dialog.lisp"
<< "lib/thread-safe.lisp"
<< "slime/.swank.lisp"
<< "slime/eql-start-swank.lisp"
<< "slime/README.txt"
<< "slime/repl-hook.lisp";
Q_FOREACH(QString file, files) {
QFile::copy(":/" + file, home + file); }}}
int catch_all_qexec() {
int ret = 0;
CL_CATCH_ALL_BEGIN(ecl_process_env()) {
@ -22,6 +62,7 @@ int main(int argc, char** argv) {
if(args.contains("-h") || (args.contains("--help"))) {
std::cout << "Usage: eql5 [file] [-qtpl] [-qgui] [-quic file.ui [:ui-package] [:maximized]] [-slime] [-norc]" << std::endl;
exit(0); }
ini();
QTextCodec* utf8 = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForLocale(utf8);