Jump to content


Photo

[WIP] How to build ModOrganizer using Modorganizer-Umbrella


  • Please log in to reply
5 replies to this topic

#1 LePresidente

LePresidente

    Prisoner

  • Mod Authors
  • 38 posts

Posted 10 September 2017 - 11:41 PM

Background on Modorganizer-Umbrella:

 

Unimake was designed by Tannin to be a fully isolated build environment, That will build all the dependencies in the correct order and allow you to rebuild certain parts just by deleting a txt file in the progress folder.

 

Here are the dependency graphs that currently unimake takes care of.

 

MASTER:

https://imgur.com/TT7TFGg.png

 

MSVC2013:

https://imgur.com/lG9aa3r.png

 

If you wish to rebuild only modorganizer once everything is complete, you simply delete the relevant txt file in the progress folder, e.g

E:\MO2\progress\modorganizer_complete_cmake modorganizer.txt

Then rerun  python.exe unimake.py -d "E:/MO2" and it will rebuild the relevant project.

 

Software Requirements: (Both Master and MSVC2013 Branches)

 

  1. Windows Machine (64Bit) since MO2 is a 64bit binary
  2. Python 2.7.13 (64Bit) Link: https://www.python.o....7.13.amd64.msi
  3. CMake (latest 64bit)  Link: https://cmake.org/fi...2-win64-x64.msi
  4. 7zip (Latest 64Bit) Link: http://www.7-zip.org/a/7z1700-x64.exe
  5. ruby (V2.2 64Bit) Link: https://dl.bintray.c...r-2.2.6-x64.exe
  6. perl (Strawberry Perl v5.24.2.1 64Bit) Link: http://strawberryper...4.2.1-64bit.msi
  7. Git Link: https://github.com/g...14.1-64-bit.exe

Only for Master Branch:

  1. MSVC 2015 Community (Install with default options) Link: https://www.visualst...lder-downloads/

    Custom Installation options for MSVC 2015 Community After Installation:

  1. Go to control panel -> Programs and Features
  2. Find "Microsoft Visual Studio Community 2015", Right Click and click change, Then click modify.
  3. Make sure "Common Tools for Visual C++ 2015" is ticked.
    lYPfCKA.png
  4. Make sure "Windows 10 SDK (10.0.10240)" is ticked.
    k9c1jaH.png
  5. Click Next then Update.

Install this Optionally if you wish to build the MSVC2013 Branch (Currently used for MO2 V2.08 and possibly MO1 Branch in the future)

  1. MSVC 2013 Community  (Install with default options) Link: https://www.visualst...lder-downloads/

 

Build Instructions:

 

Master Branch:

 

*** NOTE where you clone modorganizer-umbrella to, must be on the same drive as your output folder,

E.g if modorganizer-umbrella is at "E:/DEV/modorganizer-umbrella" your output folder should be "E:/MO2" ***

  1. Clone modorganizer-umbrella to a folder of your choice, closer to the drive letter the better e.g: E:/modorganizer-umbrella
  2. Open up a cmd window and run the following in the modorganizer-umbrella folder: python.exe unimake.py -d "E:/MO2"

That should be it, It will take a couple of hours due to QT5.8 being compiled from source. If there are any issues please open an issue. The issues are normally related to paths not being set correctly, by unimake for the relevant developer pc's due to other software installed.

 

The Master branch is the most up to date so build fixes happen here alot faster then then the legacy build branches.

 

Known issues:

 

*** NONE AT THE TIME OF WRITING ***

 

MSVC2013 Branch:

 

*** NOTE where you clone modorganizer-umbrella to, must be on the same drive as your output folder, 

E.g if modorganizer-umbrella is at "E:/DEV/modorganizer-umbrella" your output folder should be "E:/MO2" ***

 

Now this one is a little more tempermental

 

  1. Clone modorganizer-umbrella to a folder of your choice, closer to the drive letter the better e.g: E:/modorganizer-umbrella_v2
  2. Change to the MSVC2013 Branch
  3. Open up a cmd window and run the following in the modorganizer-umbrella folder: python.exe unimake.py -d "E:/MO2"
  4. If you receive the error "Cannot find graphviz" comment out line 90 in Config.py, This is not a requirement for the build. Redo Point 3
  5. We also need to build the 32bit usvfs dll's so run the following:  python.exe unimake.py  --set architecture="x86" -d "E:/MO2_32" usvfs

 

Known issues:

 

*** OUTPUT FOLDER SET ABOVE WILL MATCH RESOLUTION BELOW ***

  1. If you are behind a proxy, Cygwin will fail: you will need to edit E:\modorganizer-umbrella\unibuild\projects\cygwin.py and remove '"-q",' from line 46 to manually do the cygwin install to set the proxy
  2. If unimake fails with "task run ICU Make failed" do the following
    1.check "E:\MO2\build\icu\stderr.log" if you see "LINK: unknown option -- DTry 'LINK --help' for more information"
    2.Rename "E:\MO2\build\cygwin\bin\link.exe" to "E:\MO2\build\cygwin\bin\link_cyg.exe"
    3. Rerun unimake
  3.  

Edited by LePresidente, 12 September 2017 - 01:07 AM.

  • 0

#2 GrantSP

GrantSP

    The antipodean

  • Super Moderators
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 3,909 posts

Posted 11 September 2017 - 12:03 AM

Oooh goody, though if it was as convoluted as last time I may pass.



#3 LePresidente

LePresidente

    Prisoner

  • Mod Authors
  • 38 posts

Posted 11 September 2017 - 04:53 AM

I'm currently build the MSVC2013 branch so i'll update known issues for that when I encounter an error. Using my work pc so I've never built it before.


  • 0

#4 Freso

Freso

    Prisoner

  • Members
  • 14 posts

Posted 11 September 2017 - 05:31 AM

I'm curious if anyone has tried this process under Linux or another *nix using MinGW (or similar)? Python, CMake, 7zip, ... are all readily available on all common (and pretty much all uncommon) distributions, so only the MSVC bit stands in the way of being cross-compiled.
  • 0

#5 LePresidente

LePresidente

    Prisoner

  • Mod Authors
  • 38 posts

Posted 11 September 2017 - 06:17 AM

I'm curious if anyone has tried this process under Linux or another *nix using MinGW (or similar)? Python, CMake, 7zip, ... are all readily available on all common (and pretty much all uncommon) distributions, so only the MSVC bit stands in the way of being cross-compiled.

 

been discussed before I took over. https://github.com/T...rella/issues/16


  • 0

#6 LePresidente

LePresidente

    Prisoner

  • Mod Authors
  • 38 posts

Posted 21 September 2017 - 05:30 AM

Will hopefully be pushing a commit shortly to allow the use of the precompiled Qt install. Should avoid very long build times using umbrella.


  • 0


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users