
Note to haxTuple participants: Please read this before you start and remember to use haxtuple as the base of your branches and as the destination of pull requests.
To learn more about:
- xTuple the company and our products, see http://www.xtuple.org and http://www.xtuple.com
- using the desktop client, see the xTuple ERP Reference Guide (for users)
- desktop client development, see our desktop client wiki (click on the wiki link on the right)
- our mobile-web client, see our mobile-web client wiki
Our supported development environment using vagrant can be found here. If you prefer a different flavor of linux or a native build environment, here's a brief description of how to set up a development environment:
- Install Postgres 9.1, including libraries and header files. We strongly suggest that you build from source.
- Start here and use the File Browser to get a source bundle for 9.1.x.
- Follow the instructions for installing from source code.
- We recommend the following configuration options:
$ ./configure --prefix=/usr/local/pgsql/09.1.14 --with-perl --with-openssl --with-readline --with-libxml --with-libxslt- Get a Postgres server instance up and running
- Download the latest PostBooks demo database and
pg_restoreit so you have some data to test with. - Install Qt 4.8 (not Qt 5!). We strongly recommend that you build from source. If you plan to work with credit cards and use a Mac, you must build Qt from source and patch the SSL sources.
- Download Qt. If you don't see version 4.8 listed, click on the Show Downloads button and scroll down.
- Install Qt
- We recommend the following configuration options (the
-Iand-Loptions must match the--prefixoption used when configuring Postgres):
$ ./configure -qt-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -plugin-sql-psql -plugin-sql-odbc -plugin-sql-sqlite -I /usr/local/pgsql/09.1.14 -L /usr/local/pgsql/09.1.14 -lkrb5 -webkit -fontconfig -continue -nomake examples -nomake demos -prefix $HOME/Qt/Qt4.8.6- Get the source code for the desktop client from xtuple's qt-client repository. See our Git Usage guidelines for more information. The desktop client requires OpenRPT and CSVImp, which are included as git submodules, so don't forget
$ git submodule update --init --recursive- Build:
$ cd openrpt && qmake && make
$ cd ../csvimp && qmake && make
$ cd .. && qmake && makeWarning:
If you open Qt Designer to view or edit a .ui user interface file, check the widget palette before you do anything else. If there is no section for xTuple widgets, quit immediately without saving any changes. Otherwise you risk losing important information about the user interface definition.
Note:
On some Linux distributions you can build the desktop client using OpenRPT
and CSVImp development packages instead of compiling in the openrpt and
csvimp directories. In these cases, set the following environment variables:
OPENRPT_HEADERSnames the directory where the OpenRPT header files are installedOPENRPT_LIBDIRnames the directory where the OpenRPT libraries are installedOPENRPT_IMAGE_DIRnames the directory where the OpenRPT images are installedCSVIMP_HEADERSnames the directory where the CSVImp header files are installedOPENRPT_LIBDIRnames the directory where the OpenRPT libraries are installed