Version 30 vs 37
Version 30 vs 37
Edits
Edits
- Edit by Timotheos, Version 37
- Feb 28 2022 4:11 PM
- ·Updated instructions for latest code
- Edit by 0xseantasker, Version 30
- Mar 3 2019 5:56 PM
Edit Older Version 30... | Edit Current Version 37... |
Content Changes
Content Changes
NOTE: This document is out of date. It is no longer necessary to use {rEI} since it has now been merged with {rEE}, so in the instructions below you need to clone {rEE} instead of {rEI}.
The recommended way to set up your system and build Echo is to do the following.
=Installing Dependencies=
==Prerequisites==
# Ensure you have [[tools|Mercurial]] installed first.
# Ensure you have access to [[/diffusion|the repositories]].
# ~~Ensure you have updated the host fingerprint as per the [[technical_documents/repositories/|Repositories]] page. This will avoid any certificate errors when attempting to clone.~~
==On Unix-like platforms (Linux, BSD)==
# Clone the {rEI} Echo Installer repository into the desired location:
## Open a Terminal and navigate to the directory where you want to clone into
## In a browser, navigate to the {rEI} page and click the {nav icon=download, name=Clone} button. This will show a URL to our server's copy of the project
## Run the command `hg clone` followed by the URL determined above; e.g. `hg clone https://developer.emblem.net.au/diffusion/EI/echoinstaller/`
## Enter your https://developer.emblem.net.au Phabricator username and VCS password. If you haven't set up a Version Control System password go to your [[/settings/panel/vcspassword/]] page and set it.
# Navigate to the newly-cloned location in the Terminal.
# Change to the `scripts` subdirectory using `cd scripts`
# Run `sudo ./SetupEcho.sh` and follow the prompts.
## Note that `./SetupEcho.sh help` will display some help information.
## Note that this installs build tools for C++, such as the `g++` compiler. If it doesn't work, see [[tools/gpp/|Installing g++]].
NOTE: Before continuing with development you will need to logout then back in so your environment includes the Echo environment variables. Alternatively, when using a terminal you can type `source ~/.profile` and the environment variables will be set for that terminal session. Not doing one of these two things will result in compile and link errors as Echo and dependencies won't be found.
==On Windows==
See [[projects/echo_3/building/windows/|Development on Windows]].
=Building Echo=
The installer script will attempt to build Echo for all targets that were selected (including Debug and Release for Linux). If you want, or need to, to build manually you can do any one of the following:
- Navigate to the cloned EchoInstaller directory and run `./BuildEcho.sh`. The default platform is linux. You can specify the platform you want usinhttps://developer.emblem.net.au/diffusion/EI/echoinstaller/g `PLATFORMS=platformname ./BuildEcho.sh` where `platformname` is the lowercase name of the platform. At the time of this writing the following were available: `linux, android, wii, windowscross`.
- Navigate to the `echo3` project folder and issue the command `make CONF=Release` to build a Linux Release build, `CONF` can be set to the platform configuration you want to target. For example `make CONF=Wii` builds the Wii configuration. You can see possible configurations by opening `echo3/nbproject`. Each configuration has a makefile.
- Open the `echo3` project in [[tools/netbeans|NetBeans]] and build using the IDE.
=Verifying things worked=
You should receive output if there were errors to the above processes. The installer will output the build result to a `buildlogs` folder that you can inspect to find errors. Please Please [[https://developer.emblem.net.au/maniphest/task/edit/form/1/|report errors]] that you come across since do want the process to be error free when possible.
To verify that everything built and that you can run an Echo project you can run the tests.
```
make test
```
Will run through the unit tests for the library. A lot of these tests are graphical and are set to timeout after 30 seconds or so but you can close windows early. If 30 seconds elapses and the window doesn't close, chances are we forgot to add the timeout. Please [[/maniphest/task/edit/form/1/|report it]] so we can fix it.
Once you're satisfied and have had fun playing with the tests you can move to the [[projects/echo_3/getting_started/|Getting started]] page for information on building an application.
The recommended way to set up your system and build Echo is to do the following.
=Installing Dependencies=
==Prerequisites==
# Ensure you have [[tools|Mercurial]] installed first.
# Ensure you have access to [[/diffusion|the repositories]].
==On Unix-like platforms (Linux, BSD)==
# Clone the {rEE} Echo repository into the desired location:
## Open a Terminal and navigate to the directory where you want to clone into (e.g. `~/dev`)
## In a browser, navigate to the {rEE} page and click the {nav icon=download, name=Clone} button. This will show a URL to our server's copy of the project
## Run the command `hg clone` followed by the URL determined above; e.g. `hg clone https://developer.emblem.net.au/source/echo3/`
# Navigate to the newly-cloned location in the Terminal (e.g. `~/dev/echo3`).
# Run `./build.sh`
## Alternatively, after cloning, you can open the cloned folder as a workspace in [[https://code.visualstudio.com/|Visual Studio Code]] (a free and open source code editor [[https://linuxize.com/post/how-to-install-visual-studio-code-on-ubuntu-20-04/|installable via]] `sudo snap install --classic code`).
## Note that all options require build tools for C++, such as `cmake`, `make` and the `g++` compiler. If it doesn't work, see [[tools/gpp/|Installing g++]].
NOTE: Below instructions need to be reviewed as they are out of date. The build commands specifying the config below are old.
NOTE: Before continuing with development you will need to logout then back in so your environment includes the Echo environment variables. Alternatively, when using a terminal you can type `source ~/.profile` and the environment variables will be set for that terminal session. Not doing one of these two things will result in compile and link errors as Echo and dependencies won't be found.
==On Windows==
See [[projects/echo_3/building/windows/|Development on Windows]].
=Building Echo=
The installer script will attempt to build Echo for all targets that were selected (including Debug and Release for Linux). If you want, or need to, to build manually you can do any one of the following:
- Navigate to the cloned Echo directory and run `./BuildEcho.sh`. The default platform is linux. You can specify the platform you want using `PLATFORMS=platformname ./BuildEcho.sh` where `platformname` is the lowercase name of the platform. At the time of this writing the following were available: `linux, android, wii, windowscross`.
- Navigate to the `echo3` project folder and issue the command `make CONF=Release` to build a Linux Release build, `CONF` can be set to the platform configuration you want to target. For example `make CONF=Wii` builds the Wii configuration. You can see possible configurations by opening `echo3/nbproject`. Each configuration has a makefile.
- Open the `echo3` project in [[tools/netbeans|NetBeans]] and build using the IDE. **Note that the project will only open if the C++ NetBeans module is installed else Netbeans will error with `<unrecognized project; missing plug-in?>`.
=Verifying things worked=
You should receive output if there were errors to the above processes. The installer will output the build result to a `buildlogs` folder that you can inspect to find errors. Please Please [[https://developer.emblem.net.au/maniphest/task/edit/form/1/|report errors]] that you come across since we do want the process to be error free when possible.
To verify that everything built and that you can run an Echo project you can run the tests.
```
make test
```
Will run through the unit tests for the library. A lot of these tests are graphical and are set to timeout after 30 seconds or so but you can close windows early. If 30 seconds elapses and the window doesn't close, chances are we forgot to add the timeout. Please [[/maniphest/task/edit/form/1/|report it]] so we can fix it.
Once you're satisfied and have had fun playing with the tests you can move to the [[projects/echo_3/getting_started/|Getting started]] page for information on building an application.
NOTE: This document is out of date. It is no longer necessary to use {rEI} since it has now been merged with {rEE}, so in the instructions below you need to clone {rEE} instead of {rEI}.
The recommended way to set up your system and build Echo is to do the following.
=Installing Dependencies=
==Prerequisites==
# Ensure you have [[tools|Mercurial]] installed first.
# Ensure you have access to [[/diffusion|the repositories]].
# ~~Ensure you have updated the host fingerprint as per the [[technical_documents/repositories/|Repositories]] page. This will avoid any certificate errors when attempting to clone.~~
==On Unix-like platforms (Linux, BSD)==
# Clone the {rEIE} Echo Installer repository into the desired location:
## Open a Terminal and navigate to the directory where you want to clone into
## I## Open a browser,Terminal and navigate to the {rEI} page and click the {nav icon=download, name=Cdirectory where you want to clone} button into (e.g. This will show a URL to our server's copy of the project`~/dev`)
## Run the command `hg clone` followed by the URL determined above;## In a browser, e.g.navigate to the {rEE} page and click the {nav icon=download, `hg cname=Clone https://developer.emblem.net.au/diffusion/EI/echoinstaller/`} button. This will show a URL to our server's copy of the project
## Enter your https://developer.emblem.net.au Phabricator username and VCS password## Run the command `hg clone` followed by the URL determined above; e.g. If you haven't set up a Version Control System password go to your [[/settings/panel/vcspassword/]] page and set it.`hg clone https://developer.emblem.net.au/source/echo3/`
# Navigate to the newly-cloned location in the Terminal (e.g. `~/dev/echo3`).
# Change to the `scripts` subdirectory using `cd scripts`# Run `./build.sh`
# Run `sudo ./SetupEcho.sh` and follow the prompts# Alternatively, after cloning, you can open the cloned folder as a workspace in [[https://code.visualstudio.com/|Visual Studio Code]] (a free and open source code editor [[https://linuxize.com/post/how-to-install-visual-studio-code-on-ubuntu-20-04/|installable via]] `sudo snap install --classic code`).
## Note that `./SetupEcho.sh help` will display some help information.
## Note that this installs build tools for C++,all options require build tools for C++, such as `cmake`, `make` and the `g++` compiler. such as the `g++` compiler.If it doesn't work, If it doesn't work,see [[tools/gpp/|Installing g++]].
NOTE: Below instructions need to be reviewed as they are out of date. see [[tools/gpp/|Installing g++]]The build commands specifying the config below are old.
NOTE: Before continuing with development you will need to logout then back in so your environment includes the Echo environment variables. Alternatively, when using a terminal you can type `source ~/.profile` and the environment variables will be set for that terminal session. Not doing one of these two things will result in compile and link errors as Echo and dependencies won't be found.
==On Windows==
See [[projects/echo_3/building/windows/|Development on Windows]].
=Building Echo=
The installer script will attempt to build Echo for all targets that were selected (including Debug and Release for Linux). If you want, or need to, to build manually you can do any one of the following:
- Navigate to the cloned EchoInstaller directory and run `./BuildEcho.sh`. The default platform is linux. You can specify the platform you want usinhttps://developer.emblem.net.au/diffusion/EI/echoinstaller/g `PLATFORMS=platformname ./BuildEcho.sh` where `platformname` is the lowercase name of the platform. At the time of this writing the following were available: `linux, android, wii, windowscross`.
- Navigate to the `echo3` project folder and issue the command `make CONF=Release` to build a Linux Release build, `CONF` can be set to the platform configuration you want to target. For example `make CONF=Wii` builds the Wii configuration. You can see possible configurations by opening `echo3/nbproject`. Each configuration has a makefile.
- Open the `echo3` project in [[tools/netbeans|NetBeans]] and build using the IDE. **Note that the project will only open if the C++ NetBeans module is installed else Netbeans will error with `<unrecognized project; missing plug-in?>`.
=Verifying things worked=
You should receive output if there were errors to the above processes. The installer will output the build result to a `buildlogs` folder that you can inspect to find errors. Please Please [[https://developer.emblem.net.au/maniphest/task/edit/form/1/|report errors]] that you come across since we do want the process to be error free when possible.
To verify that everything built and that you can run an Echo project you can run the tests.
```
make test
```
Will run through the unit tests for the library. A lot of these tests are graphical and are set to timeout after 30 seconds or so but you can close windows early. If 30 seconds elapses and the window doesn't close, chances are we forgot to add the timeout. Please [[/maniphest/task/edit/form/1/|report it]] so we can fix it.
Once you're satisfied and have had fun playing with the tests you can move to the [[projects/echo_3/getting_started/|Getting started]] page for information on building an application.