Difference between revisions of "Compiling Gideros Source"

From GiderosMobile
(Created page with "{|- | style="width: 65%;"| === Overview === Lorem ipsum dolor sit amet consectetur adipiscing elit etiam urna platea, metus tincidunt suspendisse semper faucibus montes natoq...")
 
Line 6: Line 6:
  
 
Lobortis libero ante et imperdiet nascetur ac pretium montes curabitur, iaculis molestie eget quis potenti fermentum quam aptent augue euismod, suscipit habitant tempor dui quisque pulvinar porttitor felis. Morbi ornare felis dapibus vulputate nisl proin massa scelerisque integer consequat, id nullam pharetra blandit cubilia torquent convallis ultricies justo, arcu nec feugiat facilisis suspendisse vitae aenean posuere volutpat. At elementum curabitur consequat pulvinar dignissim imperdiet augue, scelerisque accumsan tortor eget ad magnis eu, montes sociosqu platea massa aenean iaculis.
 
Lobortis libero ante et imperdiet nascetur ac pretium montes curabitur, iaculis molestie eget quis potenti fermentum quam aptent augue euismod, suscipit habitant tempor dui quisque pulvinar porttitor felis. Morbi ornare felis dapibus vulputate nisl proin massa scelerisque integer consequat, id nullam pharetra blandit cubilia torquent convallis ultricies justo, arcu nec feugiat facilisis suspendisse vitae aenean posuere volutpat. At elementum curabitur consequat pulvinar dignissim imperdiet augue, scelerisque accumsan tortor eget ad magnis eu, montes sociosqu platea massa aenean iaculis.
 +
 +
=== Requirements ===
 +
==== 1.1 Install QT ====
 +
    https://www.qt.io/download-open-source/
 +
 +
When installing, expand the tree view and ensure you are installing the MinGW child option of the Qt
 +
version checkbox, as well as the MinGW option in the Tools section.
 +
 +
Recommended version 5.9.1 with MinGW 5.3
 +
 +
Double click on the downloaded file and follow instructions. 
 +
(MAC) Move the created folder into your user account folder
 +
 +
------
 +
 +
==== 1.2 (PC) Install console MSYS2 ====
 +
    https://msys2.github.io/
 +
 +
Double click on the downloaded file and follow instructions.
 +
 +
Open 32 bit MSYS2 shell: msys2_shell.cmd
 +
<code>bash
 +
pacman –Sy pacman
 +
pacman –Syu
 +
pacman –Su
 +
pacman –S tar
 +
pacman –S zip
 +
pacman –S git
 +
pacman –S base-devel
 +
</code>
 +
------
 +
 +
==== 1.3 Install Gideros ====
 +
 +
===== 1.3.1 Fetch gideros source code =====
 +
(PC) Open MSYS2 32 bit shell
 +
 +
(MAC) Open a terminal
 +
 +
Navigate to the folder where you into to work.
 +
 +
    git clone https://github.com/gideros/gideros
 +
 +
===== 1.3.2 Configure scripts =====
 +
Make a copy of the file gideros/scripts/Makefile.def.example, rename it to Makefile.def and update the file copy according
 +
to your installation. Ensure that the QT\_ARCH and QT_TOOLSARCH paths are formatted correctly according to your Qt
 +
install directory structure (see below that they are named differently by Qt).
 +
 +
**Example**:
 +
 +
===== On PC: =====
 +
For Qt:
 +
<code>bash
 +
QTBASEDIR=/c/Qt
 +
QT_ARCH=mingw53_32
 +
QT_TOOLSARCH=mingw530_32
 +
QTVER=5.9.1
 +
QT5ICUVER=59
 +
</code>
 +
 +
For Android:
 +
 +
<code><!-- bash -->
 +
# on Windows, also add this to PATH
 +
NDK_HOME=/c/android/android-ndk-r17b
 +
 +
NDKBUILD=cmd //c /c/android/android-ndk-r17b/ndk-build.cmd
 +
 +
# remember to escape disallowed characters, or wrap in quotes
 +
JAVA_HOME=/c/Program\ Files\ \(x86\)/Java/jdk1.8.0_144
 +
ANT_HOME=/c/apache-ant-1.10.1
 +
ANDROID_HOME=C:/SDKs/Android/Sdk
 +
</code>
 +
 +
For WinRT:
 +
 +
<code><!-- bash -->
 +
FXC="/c/Program Files (x86)/Windows Kits/8.1/bin/x86/fxc.exe"
 +
MSBUILD="/c/Program Files (x86)/MSBuild/14.0/Bin/MSbuild.exe"
 +
</code>
 +
 +
For html5:
 +
 +
<code><!-- bash -->
 +
EMSDK=/c/emsdkwin
 +
EMSDKPATH=$(EMSDK):$(EMSDK)/clang/e1.35.0_64bit:$(EMSDK)/node/4.1.1_64bit/bin:$(EMSDK)/python/2.7.5.3_64bit:$(EMSDK)/emscripten/1.35.0
 +
EMSDK_PREFIX=PATH=$(EMSDKPATH):$$$$PATH cmd //c
 +
CRUNCHME=crunchme-win32.exe
 +
</code>
 +
 +
On MAC:
 +
 +
<code>bash
 +
QTBASEDIR=~/Qt QT_ARCH=clang_64
 +
QT_TOOLSARCH=clang_64
 +
QTVER=5.8
 +
QT5ICUVER=54 #deprecated stuff
 +
</code>
 +
 +
------
 +
 +
==== 1.4 (PC) Android requirements ====
 +
 +
===== 1.4.1 Install Android Studio and NDK =====
 +
 +
https://developer.android.com/studio/index.html
 +
    https://developer.android.com/ndk/downloads/older_releases.html
 +
 +
Recommended NDK is 17b (the x86_64 version)
 +
 +
 +
===== 1.4.2 Install Ant =====
 +
    https://ant.apache.org/
 +
 +
------
 +
 +
==== 1.5 (PC) Install Visual Studio ====
 +
    https://www.visualstudio.com/downloads/
 +
 +
Install [Win 8.1 SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-8-1-sdk)
 +
 +
Install [Microsoft Advertising SDK for Windows and Windows Phone 8.x ](https://marketplace.visualstudio.com/items?itemName=AdMediator.MicrosoftAdvertisingSDKforWindowsandWindowsPhone8x)
 +
 +
Ensure that you have MSBuild v12 or v14 installed (building with the makefile will fail with an incorrect version).
 +
 +
------
 +
 +
==== 1.6 (MAC) Install Xcode =====
 +
    https://itunes.apple.com/fr/app/xcode/id497799835?mt=12
 +
 +
------
 +
 +
==== 1.7 Install QScintilla ====
 +
    https://www.riverbankcomputing.com/software/qscintilla/download
 +
Double click on the downloaded file and follow instructions.
 +
 +
(PC) Unzip the file into the folder of your choice.
 +
 +
(MAC) Move the created folder into the Applications subfolder of your home directory.
 +
 +
(MAC) Open a terminal window
 +
 +
(MAC) On the first install:
 +
 +
<code><!-- bash -->
 +
sudo xCodebuild –license
 +
quit
 +
agree
 +
</code>
 +
 +
===== (MAC) WARNING ! if you use QScintilla 2.9.4 and QT 5.7 : =====
 +
 +
You need to change two files from QScintilla :
 +
 +
QScintilla_gpl-2.9.4/Qt4Qt5/qsciscintilla.cpp
 +
 +
QScintilla_gpl-2.9.4/Qt4Qt5/Qsci/qsciscintilla.h
 +
 +
See https://github.com/opencor/opencor/commit/70f3944e36b8b95b3ad92106aeae2f511b3f0e90
 +
 +
 +
===== With the command line, go to Q4Qt5 subfolder of QScintilla : =====
 +
On PC :
 +
 +
Open Qt command prompt (called (eg) Qt 5.9.1 for Desktop). This command prompt just sets environment variables, allowing direct running of tools installed with Qt.
 +
 +
Navigate to QScintilla's Qt4Qt5 subfolder with ‘cd’ command, then type :
 +
 +
<code><!-- bash -->
 +
qmake qscintilla.pro
 +
mingw32-make
 +
mingw32-make install
 +
</code>
 +
 +
On Mac:
 +
Assuming X.x is your QT version, do the following :
 +
 +
<code><!-- bash -->
 +
~/Qt/X.x/clang_64/bin/qmake qscintilla.pro
 +
make
 +
make install
 +
</code>
 +
 +
------
 +
 +
==== 1.8 Install emscripten ====
 +
    http://kripken.github.io/emscripten-site/
 +
 +
You need this is you want to build for HTML5 + Facebook games.
 +
 +
Using emsdk, install packages sdk, clang, node, python and emscripten.
 +
 +
<code><!-- bash -->
 +
emsdk install <PACKAGE>
 +
emsdk update <PACKAGE>
 +
emsdk activate <PACKAGE>
 +
</code>
 +
(PC) Make sure the environment variable EM_CONFIG is set to the location of your emscripten config file.
 +
 +
(MAC) run ./emsdk_env to set environment variables
 +
 +
------
 +
 +
==== 1.9 Install Git ====
 +
    http://git-scm.com/downloads
 +
   
 +
(PC) Double click on the downloaded file.
 +
 +
(MAC) Ctrl + right click, open with « Install program.app » Follow instructions keeping default values as they are.
 +
 +
(PC) open git-bash.exe console
 +
 +
(MAC) open a terminal window
 +
<code><!--bash -->
 +
git config –global user.name "your git login"
 +
git config –global user.email "your git email"
 +
</code>
 +
------
 +
 +
==== 1.10 Install Steam SDK ====
 +
    https://partner.steamgames.com/?goto=%2Fdownloads%2Fsteamworks_sdk.zip
 +
 +
This is necessary for the Steam plugin. Once you have it installed, create an environment variable called `STEAMSDK` that points to the directory you unzipped the SDK to.
 +
 +
 +
 +
==== Building ====
 +
 
| style="width: 5%;"| <!-- for margin -->
 
| style="width: 5%;"| <!-- for margin -->
 
| style="width: 25%;"|
 
| style="width: 25%;"|
==== Requirements ====
 
==== Building ====
 
 
|}
 
|}

Revision as of 20:49, 31 August 2018

Overview

Lorem ipsum dolor sit amet consectetur adipiscing elit etiam urna platea, metus tincidunt suspendisse semper faucibus montes natoque praesent ac, leo molestie integer suscipit congue himenaeos blandit sollicitudin augue. Fringilla egestas nibh turpis id vel gravida, nisl ridiculus risus natoque conubia posuere, eget consequat malesuada praesent mollis. Est iaculis sollicitudin morbi faucibus suspendisse convallis aliquam ad, cursus purus duis non nascetur felis aliquet habitant ac, luctus orci erat dictumst eros tempus hendrerit.

Lobortis libero ante et imperdiet nascetur ac pretium montes curabitur, iaculis molestie eget quis potenti fermentum quam aptent augue euismod, suscipit habitant tempor dui quisque pulvinar porttitor felis. Morbi ornare felis dapibus vulputate nisl proin massa scelerisque integer consequat, id nullam pharetra blandit cubilia torquent convallis ultricies justo, arcu nec feugiat facilisis suspendisse vitae aenean posuere volutpat. At elementum curabitur consequat pulvinar dignissim imperdiet augue, scelerisque accumsan tortor eget ad magnis eu, montes sociosqu platea massa aenean iaculis.

Requirements

1.1 Install QT

   https://www.qt.io/download-open-source/

When installing, expand the tree view and ensure you are installing the MinGW child option of the Qt version checkbox, as well as the MinGW option in the Tools section.

Recommended version 5.9.1 with MinGW 5.3

Double click on the downloaded file and follow instructions. (MAC) Move the created folder into your user account folder


1.2 (PC) Install console MSYS2

   https://msys2.github.io/ 

Double click on the downloaded file and follow instructions.

Open 32 bit MSYS2 shell: msys2_shell.cmd bash pacman –Sy pacman pacman –Syu pacman –Su pacman –S tar pacman –S zip pacman –S git pacman –S base-devel


1.3 Install Gideros

1.3.1 Fetch gideros source code

(PC) Open MSYS2 32 bit shell

(MAC) Open a terminal

Navigate to the folder where you into to work.

   git clone https://github.com/gideros/gideros 

1.3.2 Configure scripts

Make a copy of the file gideros/scripts/Makefile.def.example, rename it to Makefile.def and update the file copy according to your installation. Ensure that the QT\_ARCH and QT_TOOLSARCH paths are formatted correctly according to your Qt install directory structure (see below that they are named differently by Qt).

    • Example**:
On PC:

For Qt: bash QTBASEDIR=/c/Qt QT_ARCH=mingw53_32 QT_TOOLSARCH=mingw530_32 QTVER=5.9.1 QT5ICUVER=59

For Android:

  1. on Windows, also add this to PATH

NDK_HOME=/c/android/android-ndk-r17b

NDKBUILD=cmd //c /c/android/android-ndk-r17b/ndk-build.cmd

  1. remember to escape disallowed characters, or wrap in quotes

JAVA_HOME=/c/Program\ Files\ \(x86\)/Java/jdk1.8.0_144 ANT_HOME=/c/apache-ant-1.10.1 ANDROID_HOME=C:/SDKs/Android/Sdk

For WinRT:

FXC="/c/Program Files (x86)/Windows Kits/8.1/bin/x86/fxc.exe" MSBUILD="/c/Program Files (x86)/MSBuild/14.0/Bin/MSbuild.exe"

For html5:

EMSDK=/c/emsdkwin EMSDKPATH=$(EMSDK):$(EMSDK)/clang/e1.35.0_64bit:$(EMSDK)/node/4.1.1_64bit/bin:$(EMSDK)/python/2.7.5.3_64bit:$(EMSDK)/emscripten/1.35.0 EMSDK_PREFIX=PATH=$(EMSDKPATH):$$$$PATH cmd //c CRUNCHME=crunchme-win32.exe

On MAC:

bash QTBASEDIR=~/Qt QT_ARCH=clang_64 QT_TOOLSARCH=clang_64 QTVER=5.8 QT5ICUVER=54 #deprecated stuff


1.4 (PC) Android requirements

1.4.1 Install Android Studio and NDK

https://developer.android.com/studio/index.html

   https://developer.android.com/ndk/downloads/older_releases.html

Recommended NDK is 17b (the x86_64 version)


1.4.2 Install Ant
   https://ant.apache.org/

1.5 (PC) Install Visual Studio

   https://www.visualstudio.com/downloads/

Install [Win 8.1 SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-8-1-sdk)

Install [Microsoft Advertising SDK for Windows and Windows Phone 8.x ](https://marketplace.visualstudio.com/items?itemName=AdMediator.MicrosoftAdvertisingSDKforWindowsandWindowsPhone8x)

Ensure that you have MSBuild v12 or v14 installed (building with the makefile will fail with an incorrect version).


1.6 (MAC) Install Xcode =

   https://itunes.apple.com/fr/app/xcode/id497799835?mt=12

1.7 Install QScintilla

   https://www.riverbankcomputing.com/software/qscintilla/download 

Double click on the downloaded file and follow instructions.

(PC) Unzip the file into the folder of your choice.

(MAC) Move the created folder into the Applications subfolder of your home directory.

(MAC) Open a terminal window

(MAC) On the first install:

sudo xCodebuild –license quit agree

(MAC) WARNING ! if you use QScintilla 2.9.4 and QT 5.7 :

You need to change two files from QScintilla :

QScintilla_gpl-2.9.4/Qt4Qt5/qsciscintilla.cpp

QScintilla_gpl-2.9.4/Qt4Qt5/Qsci/qsciscintilla.h

See https://github.com/opencor/opencor/commit/70f3944e36b8b95b3ad92106aeae2f511b3f0e90


With the command line, go to Q4Qt5 subfolder of QScintilla :

On PC :

Open Qt command prompt (called (eg) Qt 5.9.1 for Desktop). This command prompt just sets environment variables, allowing direct running of tools installed with Qt.

Navigate to QScintilla's Qt4Qt5 subfolder with ‘cd’ command, then type :

qmake qscintilla.pro mingw32-make mingw32-make install

On Mac: Assuming X.x is your QT version, do the following :

~/Qt/X.x/clang_64/bin/qmake qscintilla.pro make make install


1.8 Install emscripten

   http://kripken.github.io/emscripten-site/

You need this is you want to build for HTML5 + Facebook games.

Using emsdk, install packages sdk, clang, node, python and emscripten.

emsdk install <PACKAGE> emsdk update <PACKAGE> emsdk activate <PACKAGE> (PC) Make sure the environment variable EM_CONFIG is set to the location of your emscripten config file.

(MAC) run ./emsdk_env to set environment variables


1.9 Install Git

   http://git-scm.com/downloads 
   

(PC) Double click on the downloaded file.

(MAC) Ctrl + right click, open with « Install program.app » Follow instructions keeping default values as they are.

(PC) open git-bash.exe console

(MAC) open a terminal window git config –global user.name "your git login" git config –global user.email "your git email"


1.10 Install Steam SDK

   https://partner.steamgames.com/?goto=%2Fdownloads%2Fsteamworks_sdk.zip

This is necessary for the Steam plugin. Once you have it installed, create an environment variable called `STEAMSDK` that points to the directory you unzipped the SDK to.


Building