forked from arcadia-xenos/progress-quest
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathINSTALL
126 lines (88 loc) · 4.34 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
INSTALL for Release Version of Progress Quest
Progress Quest version 7.0.0
Martin Horner (Arcadia-Xenos on github) (xeno@morgoth.net)
Github: https://github.com/arcadia-xenos/progress-quest.git
Progress Quest v7 is designed to be compiled on at least a fairly accessible
MS Windows setup, but was developed on a linux system. Please
forgive the lack of knowledge displayed by the following instructions;
I try, but I find that is the shortest path to failure ^_^
DEPENDENCIES:
Jsoncpp uses the following to build itself. Please, don't send me hatemail
on the subject of python, I invented python hating. But jsoncpp is the stuff
and it only uses it to get it's game on. ne'ner-ne'ner.
- python
- scons-local (we used 2.3.0)
- jsoncpp (we used 0.5.0)
MS Windows Configuration:
This is the setup that enzyme used to successfully compile on Windows 7.
We both hope there are other configurations for Win that will work unmodified,
but we aren't going to get into the wildlands of testing everything under the
sun.:
- Qt Creator 2.8.1
- Qt 5.1.1(MSVC 2010, 32bit)
- Windows 7 Home Premium 64 bit
- MinGW gcc (rev2, Built by MinGW-builds project) 4.8.0
Linux Configuration:
This was the linux setup for development / compilation. Obviously it's
not the only setup you could use.
- Ubuntu 12.04
- QT 4.8.1 (32 bit)
- QT Creator 2.5.2
QT 4 / 5:
We have made allowance for some QT 4/5 cross compilation and it seems to
work fine.
Linux distribution specifics:
The linux distribution specific stuff is minimized - should
work on almost any distro configured to compile using g++.
Windows compiler specifics:
I don't have a clue about Windows anymore and really don't care much.
Enzyme was nice enough to do the heavy lifting there and knows more.
I will ask if he can fill this section in.
INSTRUCTIONS:
- Git the release version from github link using your favorite git method
(zip file should work as well)
- Follow the below instructions for DOWNLOADING AND CONFIGURING DEPENDENCIES
- Open the project in QT Creator. The pq7.pro file is the file for that.
- Either Build or Run the project and be amazed
DOWNLOADING AND CONFIGURING DEPENDENCIES:
jsoncpp is found here:
http://sourceforge.net/projects/jsoncpp/
SCONS-local:
http://www.scons.org/download.php
(go down to the "scons-local" section, not the full scons packages)
CD to the progress-quest project directory
untar/zip the jsoncpp file into the progress-quest project directory.
Cd into the jsoncpp source directory and unzip the scons-local package.
run the install line, usually: python scons.py platform=<PLATFORM>
Where: <PLATFORM> = 'linux-gcc' or 'mingw'
The package should compile fine, but if it doesn't don't blame me.
I fought the good fight to make all this easier and it just burned me
every chance it got.
WHY NOT AN AUTOBUILD? CMAKE? WTF?
I'm lost on it. Provide suggestions and they WILL be considered.
WHEN IT ALL GOES WRONG:
We had some interesting things come up in trying to produce a cross-platform
version. Here are some hints on things to pay attention to:
- In the pq7.pro file:
* The LIBS variable needs to reference the jsoncpp library file (static or
shared) If it's not there - you may have skipped the SCONS step above.
* The INCLUDEPATH needs to ref the jsoncpp headers (also built by SCONS step)
* Both use the MYJSONLIB which should point to the jsoncpp source directory
(it's relative to the project directory and shouldn't need help unless you
are using a system lib or jsoncpp installed elsewhere)
* there is a windows specific area and a linux specific area already defined
(other os specific id's I know of are: 'mac' and 'unix')
Things to watch for:
The jsoncpp headers sub directory has a file called "features.h" which will play hell
on a linux machine if an include path is created directly to it:
INCLUDEPATH += "$${MYJSONLIB}/include/json"
where files needing the headers would use:
#include "json.h"
Apparently, the c stdlibs (for gcc ?) also contain a "features.h" and by specifying an
include path to the json version it can preempt it. You can prevent this using a
sub-directory pathing:
INCLUDEPATH += "$${MYJSONLIB}/include"
where files needing the headers would use:
#include "json/json.h"
Just be aware of this and most header pathing problems should be limited.
(Don't you love it when some fool uses "should"?)