summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarkWind <darkwindmsn@hotmail.com>2011-02-15 20:05:02 +0100
committerAndrei Karas <akaras@inbox.ru>2011-02-15 21:30:12 +0200
commit1d41d39f60b7183b70180c0ad9d2cb3bc9c88599 (patch)
treeb4a0281e5e9f10557af714e0056d90bbbd1d55f0
parentf7c1149be85d90f05d55bc2c975432a6d9d6012e (diff)
downloadmv-1d41d39f60b7183b70180c0ad9d2cb3bc9c88599.tar.gz
mv-1d41d39f60b7183b70180c0ad9d2cb3bc9c88599.tar.bz2
mv-1d41d39f60b7183b70180c0ad9d2cb3bc9c88599.tar.xz
mv-1d41d39f60b7183b70180c0ad9d2cb3bc9c88599.zip
Fix compilation on Haiku and set config and data paths for it.
-rw-r--r--CMakeLists.txt2
-rw-r--r--src/CMakeLists.txt2
-rw-r--r--src/client.cpp9
-rw-r--r--src/main.h2
4 files changed, 12 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a560cb7d3..99d42ffae 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -38,7 +38,7 @@ IF (WIN32)
SET(LOCALEDIR ".")
CONFIGURE_FILE(src/winver.h.in src/winver.h)
ELSE (WIN32)
- IF (NOT OSX)
+ IF (NOT OSX AND NOT BEOS)
OPTION(USE_X11 "Use X11 Clipboard functionality" ON)
ENDIF ()
SET(PKG_DATADIR ${CMAKE_INSTALL_PREFIX}/share/manaplus)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index d807e9a1c..0b1575ffc 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -48,7 +48,7 @@ ENDIF()
IF (WIN32)
SET(EXTRA_LIBRARIES ws2_32 winmm)
FIND_PACKAGE(LibIntl REQUIRED)
-ELSEIF (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ELSEIF (CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR BEOS)
FIND_PACKAGE(LibIntl REQUIRED)
ELSEIF (CMAKE_SYSTEM_NAME STREQUAL SunOS)
# explicit linking to libintl is required on Solaris
diff --git a/src/client.cpp b/src/client.cpp
index 5f86ad4a3..429180abe 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -1301,6 +1301,9 @@ void Client::initHomeDir()
mLocalDataDir = std::string(PHYSFS_getUserDir()) +
"/Library/Application Support/" +
branding.getValue("appName", "Mana");
+#elif defined __HAIKU__
+ mLocalDataDir = std::string(PHYSFS_getUserDir()) +
+ "/config/data/Mana";
#elif defined WIN32
mLocalDataDir = getSpecialFolderLocation(CSIDL_LOCAL_APPDATA);
if (mLocalDataDir.empty())
@@ -1325,6 +1328,10 @@ void Client::initHomeDir()
#ifdef __APPLE__
mConfigDir = mLocalDataDir + "/"
+ branding.getValue("appShort", "mana");
+#elif defined __HAIKU__
+ mConfigDir = std::string(PHYSFS_getUserDir()) +
+ "/config/settings/Mana" +
+ branding.getValue("appName", "Mana");
#elif defined WIN32
mConfigDir = getSpecialFolderLocation(CSIDL_APPDATA);
if (mConfigDir.empty())
@@ -2014,4 +2021,4 @@ void Client::closeDialogs()
BuySellDialog::closeAll();
NpcDialog::closeAll();
SellDialog::closeAll();
-} \ No newline at end of file
+}
diff --git a/src/main.h b/src/main.h
index db01c4d04..20ac9126e 100644
--- a/src/main.h
+++ b/src/main.h
@@ -70,6 +70,8 @@
#define PACKAGE_OS "Linux"
#elif defined __GNU__
#define PACKAGE_OS "GNU Hurd"
+#elif defined __HAIKU__
+#define PACKAGE_OS "Haiku"
#elif defined WIN32 || defined _WIN32 || defined __WIN32__ || defined __NT__ \
|| defined WIN64 || defined _WIN64 || defined __WIN64__ \
|| defined __MINGW32__ || defined _MSC_VER