If you want to hack on unity you need the following packages
  - libnux-2.0
  - libbamf
  - libdee
  - gio-2.0
  - dbusmenu-glib-0.4
  - gthread-2.0
  - indicator
  - atk
  - libatk-adaptor

Or if you are on ubuntu run the command, apt-get build-dep unity

Unity uses the google coding style for any C++ code which can be found here:
http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml

When in doubt copy the coding style of the file you are editing.

Internal Documentation can be built for Unity by having doxygen installed and running make doxygen - its intended to give a high level understanding of the relationships between different parts of the code, not as a definitive API. doxygen generated files will be stored in api-docs/


To build Unity the latest Unity you should grab the source files from bzr with
  bzr branch lp:unity

then make a directory called build in unity directory. inside that directory run
  CMAKE ../
  make

Please note that this will create a systemwide install of unity, if you are developing localy (you are unless you know different) run 
  CMAKE -DCMAKE_INSTALL_PREFIX=~/staging ../

changing ~/staging to suit wherever you want to install files locally

Standalone clients are not built by default, they require substantial build time investments and memory investments (500MB and will double your build time) - however they are very useful for development. to build them you can run the standalone clients make target
  make standalone-clients all

or if you have a specific client you care about you can build that client explictly
  make dash

Testing is handled through GTest, googles test system, we currently have three test targets; test-gtest, test-gtest-xless, test-gtest-dbus. tests that require Nux should be in test-gtest as they require X, tests that can run headless should be in test-gtest-xless and tests that require dbus should be run with test-gtest-dbus, which tests run with our test service.

To enable debug logging you must set the environment variable UNITY_LOG_SEVERITY to the log domain you
want to watch and the log level for that domain. For example:

  UNITY_LOG_SEVERITY="unity.dash.lens=DEBUG" standalone-clients/dash

If you want to run the autopilot test suite, refer to the instructions in tests/autopilot/README.

for more information see the README file

