Source code of the Lazarus IDE for Free Pascal. -- Visit us at https://www.lazarus-ide.org or https://forum.lazarus.freepascal.org
Go to file
2023-06-20 11:09:58 +03:00
components RTTIControls: Update property filters with types from FPC 3.2.2, including UnicodeString. Issue #32545. 2023-06-20 10:13:51 +03:00
converter Remove units from uses sections, especially LCLProc which now contains many wrappers to other non-LCL units. 2023-06-18 14:57:06 +03:00
debugger Remove units from uses sections, especially LCLProc which now contains many wrappers to other non-LCL units. 2023-06-18 14:57:06 +03:00
designer Remove units from uses sections, especially LCLProc which now contains many wrappers to other non-LCL units. 2023-06-18 14:57:06 +03:00
doceditor FpDocUpdater: Improve anchoring in main form. Cleanup. 2023-06-12 21:06:19 +03:00
docs Docs: LCL/imglist. Adds or updates TCustomImageList topics for changes in 79f7f1bb. 2023-06-20 01:24:02 +01:00
examples virtualtreeview: Fix "OffsetRect deprecated" message. Less hints and warnings. Fix compilation of "Advanced" demo. 2023-06-16 14:22:20 +02:00
ide FpDebug: fix mem-leak, if string looks like json, but is not. 2023-06-20 00:34:03 +02:00
images Images: Show Roland Hahn's website in the general-purpose images html page. 2023-06-18 15:27:26 +02:00
install Installation: Fix lazarus.desktop file (FreeDesktop). Issue #32485, patch from Pino Toscano. 2017-09-29 14:35:57 +00:00
languages IDE: regenerated translations and updated Russian translation 2023-06-19 16:32:38 +03:00
lazarus.app/Contents set trunk version to 2.3.0 2021-06-15 14:00:39 +00:00
lcl LCL: Simplify TTreeNode after adding support for Enabled property. Issue #40335, patch by n7800. 2023-06-20 11:09:58 +03:00
packager Remove units from uses sections, especially LCLProc which now contains many wrappers to other non-LCL units. 2023-06-18 14:57:06 +03:00
startlazarus.app/Contents
test LazUtils: Harmonize the CamelCase names of some units. Add a license header for LazTracer. 2023-04-10 09:15:24 +03:00
tools git2pas: Removed unneeded conditional compilation flag. 2023-06-18 20:15:15 +02:00
.gitattributes IDE: Move LazConf.pp to new base-package "IdeConfig" 2022-12-08 19:28:19 +01:00
.gitignore gitignore mac file 2022-10-28 08:24:27 +02:00
.gitlab-ci.yml CI: explicitly clear Qt bindings caches in a separate jobs if any files in their directories are changed 2023-05-03 19:26:51 +03:00
COPYING.GPL.txt
COPYING.LGPL.txt
COPYING.modifiedLGPL.txt
COPYING.txt lcl: added copy of Apache License, Version 2 for customdrawn/android 2014-05-20 09:33:49 +00:00
Dockerfile.buildenv CI: store FPDoc executables separately for different FPC versions 2022-12-20 01:58:29 +03:00
fpmake_add.inc fpmake: Switched to fpmake.pp files that do not need setting the source-directory of the package manually 2014-12-29 22:11:35 +00:00
fpmake_proc.inc fpmake: fixes for ideintf being a package, and the debugger-packages 2014-12-27 11:54:10 +00:00
fpmake.pp fpmake: Switched to fpmake.pp files that do not need setting the source-directory of the package manually 2014-12-29 22:11:35 +00:00
localize.bat Translations: cleaned up localize scripts 2023-01-11 01:19:00 +03:00
localize.sh Translations: cleaned up localize scripts 2023-01-11 01:19:00 +03:00
Makefile fixed make all 2023-06-11 22:10:45 +02:00
Makefile.fpc fixed make all 2023-06-11 22:10:45 +02:00
README.md README.md: provided link to Lazarus Wiki for installation instructions 2023-04-30 19:01:32 +00:00

Welcome to Lazarus

Lazarus is a Rapid Application Development Tool for Free Pascal. It comes with the LCL - Lazarus component library, which contains platform independent visual components like buttons, windows, checkbox, treeview and many, many more. The LCL is platform independent, so you can write an application once and then compile for various platforms without changing code.

Free Pascal is a fast Object Pascal compiler, that runs on more than 20 platforms (Linux, Windows, BSD, OS/2, DOS, PowerPC, and many more).

The LCL currently supports:

  • Linux/FreeBSD (GTK2, Qt4, Qt5 and Qt6)
  • all flavors of Windows (even WinCE)
  • macOS (Cocoa, Carbon, GTK2, Qt4, Qt5, Qt6)

There is an experimental support for:

  • GTK3
  • Solaris

The LCL still contains code for GTK1, although this target is obsolete.

Compilation

You don't need ./configure, just do
make clean bigide (gmake clean bigide in BSD).

This will create the Lazarus executable with a lot of packages. Start it and enjoy.

If the above gives an error, you can try to build a minimal IDE with
make clean all (gmake clean all in BSD).

Installation and Requirements

See Lazarus Wiki for details.

Usage

Start the IDE with:

cd your/lazarus/directory
./lazarus

Documentation

The official site is www.lazarus-ide.org. Documents about specific topics can be found at https://wiki.freepascal.org/Lazarus_Documentation. Examples on how to use the LCL can be found in the examples directory. Help, documents and files about Free Pascal are at www.freepascal.org.

Mailing list

There is a very active and helpful mailing list for Lazarus, where the developers interact, share ideas, discuss problems, and of course answer questions. You can subscribe at http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus.

How to help Lazarus

If you find bugs, don't hesitate to use issue tracker, or send an email to the list. Lazarus source code and issue tracker are located at GitLab.