setting a dev env

Support for running, installing or compiling OpenMW
Locked
User avatar
lgromanowski
Site Admin
Posts: 1193
Joined: 05 Aug 2011, 22:21
Location: Wroclaw, Poland
Contact:

setting a dev env

Post by lgromanowski »

pogzy wrote: Hi,

I am using windows XP, the code from git repo is on my disk.

For the one who are coding, on which OS are you compiling?

Is there any docs on how to set a dev env? Where? If not, I could write one and put it on the wiki if you help me to make the code compile.

Which compiler do you use, gcc, Visual, cygwin, eclipse?

I don't know if it is the right place to post this question, but the ML seems to be dead since the forum is alive. Perhaps a Dev section in the forum could be nice.
Zini wrote: OpenMW is using cmake it seems. So you can pretty much use any OS - Compiler - Editor/IDE combination you want.

<nitpicking>
Which compiler do you use, gcc, Visual, cygwin, eclipse?
Eclipse is not a compiler.

</nitpicking>
pogzy wrote: I was wondering about any feedback of somebody that is using same OS than me and who already did the job to set a dev environment so that I and write a small description of the needed steps.

I don't know how big is the job required before replacing D code by C++, so I thought that writting somewhere on the wiki a guide for anybody who wants to speed the process could help the project.

Sometimes setting a dev env could be a real pain, and is done only once, it could be better to put more time at the code level than in the build details.
nicolay wrote:
pogzy wrote:Is there any docs on how to set a dev env? Where? If not, I could write one and put it on the wiki if you help me to make the code compile.
Thanks for the offer of writing it up. Right now I don't even have a Windows partition myself, so I'm not able to help you much.

The new C++ codebase still has a bit to go to catch up to the old base, but at least it's linking in Ogre and certain other libs. I think having preliminary build instructions written up on the Wiki would be great - maybe some of the guys who helped test the CMake stuff on Windows can help out?
Lordrea wrote: Pretty much everything required:

Download/Install Required Tools: Download OpenMW's Source
Once everything is installed properly, run the following command in the directory that you installed OpenMW's source to:

Code: Select all

"<Cmake's Install Directory>\bin\cmake.exe" -G "Visual Studio 9 2008"
A tutorial and wiki page would be nice, along with a stickied topic pointing to it, here on this forum. The above can of course be flushed out, as it doesn't cover required restarts for environment variables to populate, getting OpenMW via get checkouts, etc.
pogzy wrote: Hi,

Thanks, I have updated the wiki to put that info of setting a dev env. I will test at home and complete the wiki page once tested.

If someone has already did it for any other OS (Linux, Mac) or compiler (mingw, gcc) it could be helpful to fill the wiki page accordingly.

It is a very important point. If any newcomer coder can set the code & compile by himself quickly and play with the code it could help a lot to attract potential strong contributors.
athile wrote: Hello - I'm giving compiling OpenMW on my Windows machine a try. I've followed the steps mentioned above.

With the current source, I'm running into an errors with esm_reader.hpp and bsa_file.h being unable to open "../mangle/stream/stream.h". That file doesn't seem to exist. I'm new to Git, but I believe it's not in the repository.

I'm looking forward to getting OpenMW building so I can possibly contribute. Thanks.
Zini wrote: I am not an active Windows user at the moment, but on my Linux box the file is there. I just tried to build OpenMW and after a bit of minor porting to Ogre 1.7 (don't have 1.6 installed anymore) it compiled flawlessly. Maybe you did something wrong when pulling the OpenMW source from Github?
Zini wrote: Most likely you forgot to enter this line:

Code: Select all

git submodule update --init
See this wikipage for details about how to clone the git repository:

http://openmw.org/wiki/index.php?title=Source_code
Vance987 wrote: My new video card is going to support directx 11 and open gl 3.1. I'm soo exited. So is it running on open gl?
Zini wrote: The C++ version isn't actually doing any rendering yet.

btw. I edited the wiki page http://openmw.org/wiki/index.php?title= ... _a_dev_env and added instructions for Linux.

Hm ... the part about Linux is ending up in the Windows section. Does it really make sense, to have a separate forum section for each platform? Most of the technology used for OpenMW is platform-independent anyway, so there won't be that many differences.
pogzy wrote: Hi,

I've followed the steps and found the same error, I think mangle http://github.com/korslund/mangle is missing, it seems to be a wrapper to other libs, try to download it at http://github.com/korslund/mangle/zipball/master
Then you need to download boost which is not included in Ogre3D, set up the include pathes accordingly, (mangle is supposed to be in ../mangle)

in file cell_store.hpp
#include "mangle/tools/str_exception.h" => #include "../mangle/tools/str_exception.h"
in cell_store.cpp
#include "mangle/tools/str_exception.h" can be removed because already included

Then it should compile, just need to link now :)

I've updated the wiki page, just need the data directory, can't test furthermore here at work :mrgreen:. I will try at home.

Question: Does the url http://github.com/korslund/mangle is a dynamic one, which means github does an extract of the last version of the source and packs it for dowload?
athile wrote: Zini - thanks! I don't yet know how to use git properly so yes, that was indeed my issue. I appreciate your tip, as I now have the C++ version compiling, linking, and running properly on Windows.

I'll dig around the source and the wiki to see if there's something useful I can do now that I have a working build.
Zini wrote: @pogzy: If you have to change the source code, you are doing something wrong. It should compile out of the box. Also, you shouldn't need to download mangle separately.
Question: Does the url http://github.com/korslund/mangle is a dynamic one, which means github does an extract of the last version of the source and packs it for dowload?
This is just another repository, which happened to be referenced by OpenMW as a submodule. AFAIK there is no automatic packing involved.

@athile:
I'll dig around the source and the wiki to see if there's something useful I can do now that I have a working build.
Well, OpenMW is still in the early stage of the transition from D to C++. I guess some of it could be handed out to another coder, but you should coordinate with Nicolay to make sure, you are not both working on the same task. If you have time available and aren't particular about what to work on, you could as well ask him for a task.
pogzy wrote: @Zini: if I don't replace mangle by ../mangle, then I've got a compiler error "'mangle/tools/str_exception.h' : No such file or directory", in other source files such as esm_reader.hpp, it is ../mangle. On my disk, I've got
OpenMW_src/
+ bsa/
+ cmake/
+ etc.
mangle/

There is a mangle directory in openMW_src but is empty. How is set your directories?

It seems that several people can work on the code. It could be the time for Nicolay to set a tracking system so that the ones who want can pick some task to code. By this way, Nicolay could create tasks not related with C++ port but required in the code, and focus on the D to C++ port completion.

If we do not have a tracking system with tasks to pick from, we can choose to work on tasks choosen by us, but it could be a waste of time because it could be difficult to coordinate.
Zini wrote: Your directory structure is wrong. It should be

openmw/
+ bsa/
+ cmake/
+ etc.
+ mangle/

If the mangle directory in openmw is empty, you made a mistake when checking out the code. I assume here you are actually grabbing the code from the repository. Using some pre-packed tarball won't do you any good, if you actually want to take part in the development process.

I suggest you start from scratch and try to make a clean checkout. Create a new directory, cd into it and enter these lines (obviously git must be installed and should be in your path):

Code: Select all

git clone git://github.com/korslund/openmw.git
cd openmw
git submodule update --init
pogzy wrote: OK, that should be the point, I've tested on a system with a restricted web access and git was not working, so I used http direct download and I have downloaded mangle separatly.

I will try at home.

Thank you
nicolay wrote: It would be great someone wanted to write up a short installation guide on the wiki (you can link it from the main page just below the Downloads link perhaps?) Nothing big, just short instructions summing up this thread basically, covering whatever platform you know best.

Any takers?
Zini wrote: I was under the impression, that we have such a page already:

http://openmw.org/wiki/index.php?title= ... _a_dev_env

The Mac part is still missing, the Windows part isn't really optimal and I will have to make some additions to the Linux part, but basically it is available already.

The name of the page is a bit misleading. Maybe rename it to "Installation from Source" or something. AFAIK we don't have any up-to-date binary packages, that would require installation instructions.
ap0 wrote: I have just updated the "Development_Environment_Setup" page.
-> Updated dependencies
-> Refont
-> Better explainations
nicolay wrote:
ap0 wrote:I have just updated the "Development_Environment_Setup" page.
-> Updated dependencies
-> Refont
-> Better explainations
Thank you, this looks great.
Locked