Difference between revisions of "Compiling Gideros Source"
Line 209: | Line 209: | ||
------ | ------ | ||
− | === 1.11 Install Steam SDK === | + | === 1.11 Install Crunchme === |
+ | http://crunchme.bitsnbites.eu/ | ||
+ | Install to your home or C: directory. E.G. you will have a folder at 'C:\crunchme-0.4', it contains bin and src folders. | ||
+ | |||
+ | ------ | ||
+ | |||
+ | === 1.12 Install Steam SDK === | ||
https://partner.steamgames.com/?goto=%2Fdownloads%2Fsteamworks_sdk.zip | https://partner.steamgames.com/?goto=%2Fdownloads%2Fsteamworks_sdk.zip | ||
Line 218: | Line 224: | ||
------ | ------ | ||
− | === 1. | + | === 1.13 Install Gideros === |
− | ==== 1. | + | ==== 1.13.1 Fetch gideros source code ==== |
(PC) Open MSYS2 32 bit shell | (PC) Open MSYS2 32 bit shell | ||
Line 231: | Line 237: | ||
</source> | </source> | ||
− | ==== 1. | + | ==== 1.13.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 | 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 | to your installation. Ensure that the QT\_ARCH and QT_TOOLSARCH paths are formatted correctly according to your Qt | ||
Line 287: | Line 293: | ||
</source> | </source> | ||
− | ==== 1. | + | ==== 1.13.3 Fetch additional repositories ==== |
Go into just cloned gideros source folder and run make prep.repo | Go into just cloned gideros source folder and run make prep.repo | ||
<source lang="bash"> | <source lang="bash"> |
Revision as of 12:27, 5 October 2018
The following instructions are for developers who want to contribute to or otherwise experiment with the Gideros C/C++ engine and are not necessary for either building or deploying apps made with Gideros.
The Gideros project consists of the Gideros Studio IDE, the Gideros SDK libraries, Gideros Texture Packer, Gideros Font Creator, "players" or export templates for all the platforms Gideros supports, all targets of all plugins, a daemon and a bridge. The build system is flexible, so you only need the tools for the targets you are interested in deploying to with Qt (and MSYS2 on Windows) being a realistic minimum.
1. Requirements
1.1 Install QT
https://www.qt.io/download-open-source/
Recommended version 5.10.1 with MinGW 5.3
Windows: https://download.qt.io/archive/qt/5.10/5.10.1/qt-opensource-windows-x86-5.10.1.exe
Mac OSX: https://download.qt.io/archive/qt/5.10/5.10.1/qt-opensource-mac-x64-5.10.1.dmg
Linux: https://download.qt.io/archive/qt/5.10/5.10.1/qt-opensource-linux-x64-5.10.1.run
Double click on the downloaded file and follow instructions. When installing, change the install directory to /Qt rather than /Qt/Qt5.10.1, expand the tree view and ensure you have ticked the MinGW child option of the Qt version checkbox, as well as the MinGW option in the Tools section.
(MAC) Move the created folder into your user account folder
1.2 (PC) Install MSYS2 Console
https://msys2.github.io/
Double click on the downloaded file (msys2-i686) and follow instructions.
Open 32 bit MSYS2 shell: msys2_shell.cmd
pacman –Sy pacman
pacman –Syu
pacman –Su
pacman –S tar
pacman –S zip
pacman –S git
pacman –S base-devel
1.3 (Mac) Install Git
http://git-scm.com/downloads
Ctrl + right click, open with « Install program.app » Follow instructions keeping default values as they are.
(MAC) open a terminal window
git config –global user.name "your git login"
git config –global user.email "your git email"
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 17 (the x86_64 version)
Once downloaded, copy the contents of the NDK to your home or C: folder, rename the folder that you copied to 'android-ndk', for example you will end up with 'c:\android-ndk' and below that folders that say build, meta, platforms, etc.
1.4.2 Install Ant
https://ant.apache.org/
Once downloaded, copy the contents of the install archive/zip file to your home folder or C: drive. Eg: so you have a folder called c:\apache-ant-1.10.5 with bin, etc, lib, manual folders within that.
1.5 Install Java
You need the Java JDK https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
1.6 (PC) Install Visual Studio
https://www.visualstudio.com/downloads/
Install Win 8.1 SDK
Install Microsoft Advertising SDK for Windows and Windows Phone 8.x
Ensure that you have MSBuild v12 or v14 installed (building with the makefile will fail with an incorrect version).
1.7 (MAC) Install Xcode
https://itunes.apple.com/fr/app/xcode/id497799835?mt=12
1.8 Install QScintilla
https://www.riverbankcomputing.com/software/qscintilla/download
Double click on the downloaded file and follow instructions.
Recommended 2.10.8
Windows: https://sourceforge.net/projects/pyqt/files/QScintilla2/QScintilla-2.10.8/QScintilla_gpl-2.10.8.zip
Mac OSX/Linux: https://sourceforge.net/projects/pyqt/files/QScintilla2/QScintilla-2.10.8/QScintilla_gpl-2.10.8.tar.gz
(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
On Linux: Locate qmake in your Qt installation, usually /opt/Qt/<version>/gcc_64/bin/qmake and run:
/path/to/qmake qscintilla.pro
make
make install
1.9 Install Python
https://www.python.org/downloads/release/python-2712/
You need Python 2.7.12 or later to install emscripten properly.
Once installed, add it to your command line path, eg: c:\python27, on windows you can do this by right-clicking on 'myComputer' or 'This PC', go to 'Properties', click 'Advanced System Settings', Click 'Environmental Variables', double-click 'Path', add 'c:\python27'.
1.10 Install emscripten
http://kripken.github.io/emscripten-site/
You need this is you want to build for HTML5 + Facebook games.
Using a shell or MSYS2 (previously installed) on windows, go to your home or C: folder and type:
git clone https://github.com/juj/emsdk.git
Once that has completed open a command prompt in that folder on Windows, on other system just cd to the folder.
Using emsdk, install packages sdk, clang, node, python and emscripten.
(on non-PC put ./ before emsdk)
emsdk install latest
emsdk activate latest
(PC) Type:
emsdk_env.bat
(MAC) Type:
source ./emsdk_env.sh
These can also be installed within emsdk: git, crunch, and spidermonkey
(on non-PC put ./ before emsdk)
emsdk install git-1.9.4
emsdk install crunch-1.03
emsdk install spidermonkey-37.0.1-64bit
emsdk activate git-1.9.4
emsdk activate crunch-1.03
emsdk activate spidermonkey-37.0.1-64bit
(PC) emsdk_env.bat
(MAC) source ./emsdk_env.sh
(PC) Make sure the environment variable EM_CONFIG is set to the location of your emscripten config file.
1.11 Install Crunchme
http://crunchme.bitsnbites.eu/ Install to your home or C: directory. E.G. you will have a folder at 'C:\crunchme-0.4', it contains bin and src folders.
1.12 Install Steam SDK
https://partner.steamgames.com/?goto=%2Fdownloads%2Fsteamworks_sdk.zip
Copy the 'sdk' folder inside the archive/zip to your home or C: folder, then rename it 'steam-sdk'. For eample you will have a folder names 'c:/steam-sdk' and it contains other folders such as glmgr, public, tools, etc.
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.
1.13 Install Gideros
1.13.1 Fetch gideros source code
(PC) Open MSYS2 32 bit shell
(MAC/Linux) Open a terminal
Navigate to the folder where you into to work.
git clone https://github.com/gideros/gideros
1.13.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:
QTBASEDIR=/c/Qt
QT_ARCH=mingw53_32
QT_TOOLSARCH=mingw530_32
QTVER=5.9.1
QT5ICUVER=59
For Android:
# 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
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:
QTBASEDIR=~/Qt QT_ARCH=clang_64
QT_TOOLSARCH=clang_64
QTVER=5.8
QT5ICUVER=54 #deprecated stuff
1.13.3 Fetch additional repositories
Go into just cloned gideros source folder and run make prep.repo
cd gideros
make -f scripts/Makefile.gid prep.repo
2. Building
If you have all dependencies in place for all targets, you can build everything at once via MSYS2 or Terminal with:
make -f scripts/Makefile.gid
2.1 Compilation on PC :
Open MSYS2 shell (msys2_shell.cmd). Standard compilation is 32 bit so use a 32 bit shell. Make sure you have installed the necessary build tools in MSYS2 using pacman, as detailed in Install MSYS2 Console. .
Navigate to gideros folder
2.1.1 Build QT tools :
make –f scripts/Makefile.gid qtapp.install
-> files GiderosStudio.exe, GiderosPlayer.exe, GiderosTexturePacker.exe (…) in Build.Win folder
2.1.2 Android:
make –f scripts/Makefile.gid android.install
= file GiderosAndroidPlayer.apk in folder Build.Win/Players
2.1.3 winRT:
If necessary : Open the solution, gideros/winRT_example/giderosgame.sln in Visual Studio. Check that the SQLite version for Windows and Windows Phone is up to date. Save and close the solution.
make –f scripts/Makefile.gid winrt.install
= file _bundle.appxupload in folder Build.Win/Players/WinRT
2.1.4 win32:
make –f scripts/Makefile.gid win32.install
= files in folder Build.Win/Templates/win32
2.1.5 Html5:
make –f scripts/Makefile.gid html5.install
-> files in folders Build.Win//Players/Html5 and Build.Win/Templates/Html5
2.1.6 Plugins:
make –f scripts/Makefile.gid bundle.win
= folder bin and file gplugin in folder Build.Win/All Plugins
2.2 Compilation on Mac :
Open Terminal.
cd to the folder « gideros »
2.2.1 QT :
make -f scripts/Makefile.gid qtapp.install
= GiderosStudio.exe, GiderosPlayer.exe, GiderosTexturePacker.exe (…) in folder Build.Mac
2.2.2 iOS :
make -f scripts/Makefile.gid ios.install
= GiderosiOSPlayer.zip in folder Buid.Mac/Players
2.2.3 Plugins:
make -f scripts/Makefile.gid bundle.mac
= folders bin and files gplugin in folder Buid.Mac/All Plugins