Monkey2 Build From Source Help

About Monkey 2 Forums Monkey 2 Programming Help Monkey2 Build From Source Help

This topic contains 10 replies, has 4 voices, and was last updated by  cocon 2 weeks, 2 days ago.

Viewing 11 posts - 1 through 11 (of 11 total)
  • Author
    Posts
  • #5169

    cocon
    Participant

    This post will contain various information about contributing to Monkey 2, with various subjects such as:

    • downloading from source
    • building it from source
    • download latest changes from git

    Downloading Monkey
    Enter this link to one of the git clients: https://github.com/blitz-research/monkey2.git

    1. Github Desktop
      https://help.github.com/desktop-classic/guides/contributing/cloning-a-repository-from-github-desktop/
    2. Sourcetree
      https://confluence.atlassian.com/bitbucket/clone-a-repository-223217891.html
      (See Nerobot’s notes below for more information)
    3. Alternatively, just download the zip repository from github without any client.

    Building Monkey In Windows

    1. Let’s assume you have downloaded the repository somewhere e.g. D:\Programming\monkey2\ .
    2. Now you will have to use a C++ compiler, there is the MinGW toolchain which is open source and the Microsoft C++ 2017 which is free to use for non-commercial usage (you can use it for open source and educational purposes).
    3. For MinGW you will have to get this one specific toolchain: http://monkeycoder.co.nz/monkey2-files , have it available in the system (set the directory of where g++.exe is located), normally you would type g++ in the command prompt and see compiler output.
    4. For Microsoft Visual Studio 2917 , download the installer client and let it do things by itself, just let everything as default this will save you from changing the Monkey2 configuration files.
      https://docs.microsoft.com/en-us/cpp/build/vscpp-step-0-installation
      Once everything is set, go to this file monkey2\bin\env_windows.txt and have this value set MX2_USE_MSVC=1  .
    5. Now since you have a C++ compiler (either [3] or [4]) you are ready to go. Head over to monkey2\scripts and run this file rebuildted2go.bat and wait about 25 minutes to let everything built from scratch which includes the compiler (mx2cc), modules, IDE, etc.

    Download Latest Changes From git

    1. Github Desktop
      Having selected the branch you are interested in, hit Fetch Origin and wait a few seconds to let it download.
      For more information: https://services.github.com/on-demand/github-desktop/push-with-github-desktop
    2. Sourcetree
      Press the pull button from the main toolbar
      https://confluence.atlassian.com/sourcetreekb/commit-push-and-pull-a-repository-on-sourcetree-785616067.html
      (see Nerobot’s notes for more details)
    #5230

    nerobot
    Participant

    I use SourceTree for git. I prefer gui instead of command line. 🙂

    May post short ‘howto’ if someone is interested in.

    #5252

    cocon
    Participant

    It will be a good idea, won’t hurt to post it. Can you make a huge image (i.e. 1500×1500) that explains it?

     

    Generally I use “gihub for windows” but I consider switching to sourcetree, lots of people like this one.

    #5282

    nobuyuki
    Participant

    @nerobot

    I also use sourcetree, and I think it would be useful to have!

    #5374

    nerobot
    Participant

    There is a short article “How to use SourceTree app for managing git repository”.

    Install & Account

    Install app from here: https://www.sourcetreeapp.com

    Enter your git account info to get access to github (there is a prompt for first start).

    Clone monkey2

    Start app and press Clone/Add (see st-1.png).

    In clone dialog (see st-2.png):

    • paste monkey2 repository url,
    • select folder to copy into (if folder exists it must be empty),
    • enter name for repo (it’s bookmark for soursetree),
    • and press Clone button.
    • wait loading

    App overview

    See st-3.png

    After loading you will stay on default branch – master.

    To use develop or any other branch, you need to checkout it.

    • Look at Remotes list below master branch.
    • Right-click on remotes::origin::develop and choose “Checkout origin/develop…” and press Ok.
    • Ok, now you stay on develop branch (bold font).

    To change local branch simply double-click on one of them.

    To grab new stuff – just press Pull button on main toolbar.

    Pull and run rebuildall script if needed.

    Any questions? 🙂

    #5457

    cocon
    Participant

    Nice one, thanks.

    #12010

    nerobot
    Participant

    There is a cool feature in SourceTree App named “Log selected” – it shows us all changes for selected files.

    For example, I want to inspect latest changes in MainWindow.monkey2 file.

    Look at screenshots.

    #12846

    cocon
    Participant

    I did an update to the original first post to get rid of the directions regarding the raw git command set, since GUI applications are much more useful and the process of working repositories is streamlined. Also the title of the post is renamed to include various tips and tricks generally regarding to building and contributing to monkey2.

    One upcoming post would be to mention ways about compiling monkey2 with MSVC2017, if anyone has tried it can do a post here. 🙂

    Another one is to clone and sync the repository from github-to-github (without involving your client).

    #14213

    slenkar
    Participant

    when compiling on linux i got:

    ./rebuildted2.sh

    ***** Rebuilding ted2 *****

    Mx2cc version 1.1.12

    ***** Making app ‘/home/slenkar/Downloads/monkey2/src/ted2/ted2.monkey2’ (linux release x64 gcc) *****

    Parsing…
    Semanting…
    /home/slenkar/Downloads/monkey2/src/ted2/scenedocument.monkey2 [47] : Error : Can’t find overload for ‘Render’ with argument types (mojo.graphics.Canvas,mojo3d.Camera)
    /home/slenkar/Downloads/monkey2/src/ted2/ted2.monkey2 [101] : Error : Can’t find overload for ‘new’ with argument types (std.collections.Map<monkey.types.String,monkey.types.String>)

    #14215

    nerobot
    Participant

    ted2 is out of dated (I suppose), but there is ted2go that is up to date.

    Try to start rebuildted2go.sh.

    #14231

    cocon
    Participant

    I did some updates to the original post to include directions for MSVC2017, currently I have switched to MSVC and it seems good.

Viewing 11 posts - 1 through 11 (of 11 total)

You must be logged in to reply to this topic.