|
Programmers
Information for programmers.
Subject-Code Building DaisyDaisy is build with GNU Make, and requires a Unix-like environment, such as GNU/Linux or Cygwin. The current (as of 2012-05-14) development environment is Ubuntu 10.04, while an old version Cygwin is used for building an executable for MS Windows. The code in CVS (post 5.11, pre 5.12) has been updated to compile with Ubuntu 12.04 and the current (as of 2012-05-14) Cygwin. ToolsYou need to install make and svn under both Cygwin and Ubuntu, they both come with the package manager. Daisy sourceFetch the Daisy source by clicking in the "Source" tab above, and follow the instructions. Renamed the "daisy-model" directory to "daisy". UbuntuInstall boost and cxsparse from the package manager. Change the Makefile so CXSPARSELIB points the right place. CXSPARSELIB = /usr/lib/libcxsparse.so.2.2.3 You should now be able to build the daisy executable with make linux Set the DAISYHOME environment variable to point to the Daisy directory, and you are ready to go. CygwinInstall i686-w64-mingw32-g++.exe from the package manager. Install NSIS. Edit MAKENSIS in the Makefile to point to the right place. Fetch and unpack boost, UFconfig, and CXSparse from their sources. They should be unpacked in your Cygwin home directory. Compile UFconfig and CXSparse with the command "make CC=i686-w64-mingw32-g++.exe". Create a "libdeps" directory under daisy, and move CXSparse/Lib/libcxsparse.a there. Boost doesn't need compilation, but edit the "win64" target in the Makefile so BOOSTINC points in the right direction. You should now be able to create an installer by typing make setup-native in the daisy diretcory. MiscThe C# interface has only been compiled with Microsoft csc.exe under Cygwin. The GUI libraries used is Qt. Accessing DaisyHere will eventually be information about accessing Daisy from other programs through C++, C, C#, .net, and OpenMI. Changing the Daisy source codeHere will be information about changing the Daisy source code. Currently, we have information about the code that implements the tertiary soil domain. In general, we mostly follow the GNU Coding Standards. See also
|