HeidiSQL Logo

HeidiSQL - information file for developers


Table of contents

  1. Introduction
  2. Necessary software
  3. What is Delphi?
  4. Downloading the source code
  5. Quick-start tutorial
  6. Further development
  7. More information

Introduction

This document describes how you can download and setup a few pieces of necessary software and quickly start compiling your own version of HeidiSQL.

We've tried to make this guide as easy to read as possible. If something is unclear, or you have questions regarding how the project or code is structured, please feel free to ask the developers. They can be reached via the project's general mailing list, or by email addresses listed on the project homepage.

To table of contents


Prerequisites

You will need the following software for building HeidiSQL. Install in any order you prefer.

All other necessities and dependencies used by HeidiSQL are included in both the Subversion repository and the source package.

To table of contents


What is Delphi? (skip)

Delphi is a graphical user interface for developing code, also known as an IDE (integrated development environment). Delphi was the original name for Borland's IDE products, but nowadays refer to the part of the IDE that deals with code in the Pascal language. You don't need the full-fledged Developer Studio, plain Delphi is enough to build HeidiSQL.

Pascal is a language which is as powerful as C++, but has a much cleaner syntax. Pascal is a modern language, with major benefits compared to other languages, among them is limited garbage collection, great support for Structured Exception Handling, the various types of strings in existence, componentized development, and other things. It also has it's drawbacks, mostly minor things on the technical front like for example the newbie-friendly but overly verbose "begin -> end" scope declarators and lack of various syntactic sugar such as "+=" and "?:".

To table of contents


Downloading the source code

If you haven't already done so, retrieve a copy of the source code.
Preferably, use Subversion to check out a working copy.

To check out the latest source code anonymously for read only purposes, you can use TortoiseSVN, or the command line Subversion client like so:

svn co http://heidisql.googlecode.com/svn/trunk/ heidisql

Alternatively, download a source tarball from the file area:
HeidiSQL file area on Google Code

If you are a project member and plan to make changes, use this command to check out the code as yourself using HTTPS:

svn co https://heidisql.googlecode.com/svn/trunk/ heidisql --username john.doe

See here for detailed instructions on SVN and for your SVN password (it's not your usual Google password).

To table of contents


Getting started

To quickly setup a HeidiSQL build environment, follow these instructions.

  1. Install the software listed in prerequisites.
  2. Get a copy of the source code.
  3. Run the script heidisql/extra/build_everything.cmd.
  4. Run the script heidisql/extra/install_ide_components.cmd.
  5. Done!

The final executable should now be in heidisql/out/, and you should be able to modify the project by opening heidisql/packages/delphiXX/heidisql.bdsproj.

If for some reason you would like to perform a manual build without using the build scripts, please refer to this document.

To table of contents


Further development

Once you've performed the initial steps, Delphi will take care of automatically re-installing components when you compile them. Thus the "Install" step is no longer necessary, "Build" is all that is needed!

For your convenience, there is a project group under superpackages/delphi11/heidisql.groupproj which includes both HeidiSQL and all of it's dependencies.

Using this project group, you have all of the HeidiSQL source code conveniently located at your finger tips!

You can rebuild and re-install everything by performing a Build All on the big project group.

Note: Using the big project group can drain resources. If your hardware is not in the big league, you might want to use the individual projects instead.

To table of contents


More information

Advanced information can be found here.

To table of contents


Revision of this file: $Rev$
Last changed: $Date$
Last author: $Author$