1. Building HeuristicLab Sources
1.1. Required Software
For building HeuristicLab from the sources the following software has to be installed on your machine:
- Microsoft .NET Framework 4.0
- Supported IDEs:
Please note that the Visual Studio 2010 Express edition and SharpDevelop do not support Visual Studio test projects. When opening the HeuristicLab 3.3 solution in Visual Studio 2010 Express an error message is displayed that the HeuristicLab.Tests project and the Solution Items folder can't be opened. This can be ignored as these projects/folders are not needed to build a working HeuristicLab. When using SharpDevelop the HeuristicLab.Tests project is opened but it can not be built. Therefore simply remove the HeuristicLab.Tests project from the solution.
1.2. SVN Access
You can check out the sources from the HeuristicLab SVN repository at the following URLs:
- Latest stable release (HeuristicLab 3.3.8): http://dev.heuristiclab.com/svn/hl/core/tags/3.3.8
- Current development version (trunk): http://dev.heuristiclab.com/svn/hl/core/trunk
- Everything: http://dev.heuristiclab.com/svn/hl/core (this might take some time ...)
1.3. How to Build the Sources
When building HeuristicLab the command line application SubWCRev of TortoiseSVN is used to fetch the latest revision number of each HeuristicLab plugin. Therefore you need to have the binary path (bin) of TortoiseSVN (usually C:\Program Files\TortoiseSVN\bin) in your PATH environment variable. You can check the value of the PATH environment variable by opening a windows command prompt and typing PATH. The semicolon separated list of directories should include the path of the TortoiseSVN binaries.
To build the HeuristicLab solution for the first time, follow these steps:
- Open the solution file HeuristicLab.ExtLibs.sln in your IDE of choice and build it.
- Open the solution file HeuristicLab 3.3.sln and build it.
- All assemblies are compiled to sources\bin.
- Start HeuristicLab 3.3.exe from sources\bin.
2. Developing HeuristicLab Plugins
If you want to develop new HeuristicLab plugins in your own solution, choose one of the following ways:
- You can specify a reference path in your project properties, or hard code the references location in each project file. In this case everyone who wants to build your solution has to have the required assemblies at the same physical location.
- You can put the HeuristicLab binaries into a folder in your own solution and set relative path references in each project file. That way everyone can compile your solution and you have a fixed working target to build against.
- You can add the location of the HeuristicLab binaries to the global assembly reference path as described here. Note that the global reference path has to be set by everyone who wants to compile your solution.
3. HeuristicLab Development Guidelines
During the development of HeuristicLab, the developers team tries to keep several guidelines in mind. These guidelines should help to achieve a high code quality and a common coding style. Everybody who wants to contribute to HeuristicLab should have a look at them.