Version 16 (modified by abeham, 10 years ago) (diff) |
---|
Quick guide: Download and build the sources
For the impatient
- Download the stable branch source zip
- Build HeuristicLab.ExtLibs.sln then build HeuristicLab 3.3.sln
For the not so impatient, this quickstart covers how to obtain and set up the development environment in order to extend HeuristicLab with new plugins. If you have troubles please check the FAQ.
Obtaining the source
We will use the sources of the current stable build as these can be built without any prerequisites. You require a current version of Visual Studio or SharpDevelop and the .NET framework.
- Download the stable branch source zip
- Unpack it into the folder HeuristicLab\stable somewhere on your hard drive
We will refer to the HeuristicLab folder as HLRoot, likewise we'll call the stable folder StableRoot. The explorer should look like in the image to the right.
Building HeuristicLab
Important: HeuristicLab is split into two solutions. The one that rarely changes and needs to be built first is called HeuristicLab.ExtLibs.sln. The second one that changes more often is called HeuristicLab 3.3.sln. The rest can be ignored for now. Both solutions build into a common bin folder directly inside StableRoot. All assembly references to plugins that are not projects of the same solution reference assemblies in that bin folder. Read that again.
Option 1: Using the Build.cmd script
If you have Visual Studio 2012 or later installed you can use the Build.cmd script in StableRoot.
- Double click Build.cmd and type the number associated with HeuristicLab.ExtLibs.sln
Then hit <Enter> and each time it prompts again. Default options are given in brackets [].
- Double click Build.cmd again and type the number associated with HeuristicLab 3.3.sln
You now have built HeuristicLab and its plugins into StableRoot\bin.
Option 2: Using an IDE
Building using Visual Studio or SharpDevelop requires that you build the solutions in the correct order. The HeuristicLab 3.3.sln is quite large, please be patient until it is loaded. Solutions in Visual Studio can be built by pressing <F6>, in SharpDevelop the shortcut is <F8>.
- Open and build HeuristicLab.ExtLibs.sln
- Open and build HeuristicLab 3.3.sln
Adding a shortcut
It is convenient to add a shortcut to the HeuristicLab.exe file that directly starts the Optimizer and bypasses the starter window.
- Create a shortcut from StableRoot\bin\HeuristicLab.exe by right-clicking it and choosing "Create Shortcut"
- Open the properties of the new shortcut by right-clicking it
- Append the following switches /start:Optimizer /hideStarter to the "Target" box
- Move the shortcut to HLRoot or another convenient place and rename it to "HeuristicLab 3.3 Optimizer"
Creating a new plugin
We now want to extend the functionality of HeuristicLab.
- Create a new folder extension in HLRoot
New plugin with Visual Studio
- Follow the instructions on how to create HeuristicLab plugins with Visual Studio?
New plugin with SharpDevelop
- Follow the instructions on how to create HeuristicLab plugins with SharpDevelop?
For the experienced
At some point it might be beneficial for you to build against the code in our SVN repositories. The advantage is that you can update it and get new features as we release them. Also you will get notice of breaking changes to our API earlier. You'll have to install Tortoise SVN because the build process makes use of one of its tools (SubWCRev). You need to have the binary path (bin) of TortoiseSVN (usually C:\Program Files\TortoiseSVN\bin) in your PATH environment variable. Changing the PATH variable requires you to re-login to your Windows account to put them into effect.
- Stable branch: http://dev.heuristiclab.com/svn/hl/core/stable (recommended, tested and reviewed changes only)
- Main trunk: http://dev.heuristiclab.com/svn/hl/core/trunk/sources (not recommended, frequent and unreviewed changes, moderate testing)
Attachments (2)
- StableRoot.png (39.6 KB) - added by abeham 10 years ago.
- buildcmd.png (12.9 KB) - added by abeham 10 years ago.
Download all attachments as: .zip