Fix prefix issues
authorunc0rr
Fri, 18 Aug 2006 21:02:11 +0000
changeset 119 665c07365cb6
parent 118 fac200ee771c
child 120 87264c35b09a
Fix prefix issues
QTfrontend/CMakeLists.txt
QTfrontend/main.cpp
QTfrontend/main.cpp.in
--- a/QTfrontend/CMakeLists.txt	Fri Aug 18 20:46:43 2006 +0000
+++ b/QTfrontend/CMakeLists.txt	Fri Aug 18 21:02:11 2006 +0000
@@ -2,6 +2,15 @@
 
 include_directories(${QT_INCLUDES} .)
 
+if(WIN32 AND NOT UNIX)
+	set(HEDGEWARS_BINDIR ".")
+else(WIN32 AND NOT UNIX)
+	set(HEDGEWARS_BINDIR ${CMAKE_INSTALL_PREFIX})
+endif(WIN32 AND NOT UNIX)
+
+configure_file(${hedgewars_SOURCE_DIR}/QTfrontend/main.cpp.in 
+	${hedgewars_SOURCE_DIR}/QTfrontend/main.cpp)
+
 set(hwfr_src 
 	game.cpp
 	main.cpp
--- a/QTfrontend/main.cpp	Fri Aug 18 20:46:43 2006 +0000
+++ b/QTfrontend/main.cpp	Fri Aug 18 21:02:11 2006 +0000
@@ -53,7 +53,7 @@
 	Translator.load(":/translations/hedgewars_" + QLocale::system().name());
 	app.installTranslator(&Translator);
 
-	QDir mydir = QFileInfo(argv[0]).dir();
+	QDir mydir(".");
 	bindir = new QDir(mydir);
 	cfgdir = new QDir();
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/main.cpp.in	Fri Aug 18 21:02:11 2006 +0000
@@ -0,0 +1,79 @@
+/*
+ * Hedgewars, a worms-like game
+ * Copyright (c) 2005 Andrey Korotaev <unC0Rr@gmail.com>
+ *
+ * Distributed under the terms of the BSD-modified licence:
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * with the Software without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+ * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <QApplication>
+#include <QTranslator>
+#include <QLocale>
+#include <QMessageBox>
+#include <QFileInfo>
+#include "hwform.h"
+#include "hwconsts.h"
+
+QDir * bindir;
+QDir * cfgdir;
+QDir * datadir;
+
+int main(int argc, char *argv[])
+{
+	QApplication app(argc, argv);
+
+	Q_INIT_RESOURCE(hedgewars);
+
+	QTranslator Translator;
+	Translator.load(":/translations/hedgewars_" + QLocale::system().name());
+	app.installTranslator(&Translator);
+
+	QDir mydir("${HEDGEWARS_BINDIR}");
+	bindir = new QDir(mydir);
+	cfgdir = new QDir();
+
+	cfgdir->setPath(cfgdir->homePath());
+	if (!cfgdir->exists(".hedgewars"))
+	{
+		if (!cfgdir->mkdir(".hedgewars"))
+		{
+			QMessageBox::critical(0,
+					QObject::tr("Error"),
+					QObject::tr("Cannot create directory %1").arg("/.hedgewars"),
+					QObject::tr("Quit"));
+		}
+	}
+	cfgdir->cd(".hedgewars");
+
+	datadir = new QDir(mydir);
+	datadir->cd("../share/hedgewars/Data");
+
+	HWForm *Form = new HWForm();
+	Form->show();
+	return app.exec();
+}