Sign in Join
Wiki copytemporary

IDE Window: Package Options

Deutsch · English · Français · Русский

Navigation

The Package Options dialog is accessible from the Lazarus IDE Main Menu > Packages > Package Editor > New Package... -or- Open Loaded Package... -or- Open Package File -or- Open Recent Packages, and then clicking on Options for the Options Dialog and selecting Package Options.

Usage

Group "Add paths to dependent packages/project"

All these paths are not used by this package itself, but they are added to the appropriate paths of the packages/projects, that use this package. These are called inherited paths. For example: Package A needs Package B needs Package C. All usage options of C are appended to the options of B and A.

For example almost all packages inherit their output directory, so that any package, that uses this package, finds the .ppu files.

You can see, what paths are inherited from other packages/projects in the compiler options dialog.

Note: The IDE normalizes search paths. For example it trims spaces trailing spaces and chomps the trailing path delimiter (windows: \, all other: /). It chomps them because FPC treats '\' plus space as a special character.

Unit: These paths are separated by semicolon, can contain macros, and are appended to the unit paths (compiler option -Fu) of all packages/projects, which use/require this package, but not the package itself. The unit path is used by the IDE and the compiler to search for pascal units (.pas, .pp, .ppu). The default is $(PkgOutDir)/ which is a macro for the package output directory

Notes:

Include: Same as the unit path, but for the include path - include files (compiler option -Fi).

Notes:

Object: Same as the unit path, but for the object path (.o files, compiler option -Fo).

Library: Same as the unit path, but for the library path (linker files, compiler option -Fl).

Group "Add options to dependent packages and projects"

Linker: These options are separated by space, can contain macros and are appended to the linker options (compiler option -k) of all packages/projects, which use/require this package. Line breaks are converted to spaces. Several spaces are treated as one, except if they are enclosed by quotes.

Custom: These options are separated by space, can contain macros and are appended to the custom options of all packages/projects, which use/require this package. Line breaks and special characters #0..#31 are converted to spaces. Several spaces are treated as one, except if they are enclosed by quotes.

Group "Project"

Add package unit to uses section: If checked the package main unit is added to the projects uses section. This means all package units are compiled into to the project, ensuring that all initialization sections of all package units are executed. If the package contains units that should not be added always, uncheck this.

Description

IDE Integration

Provides

TODO...

i18n

i18n is an abbreviation of internationalization and means in Lazarus the translation of string constants to various languages (e.g. Spanish or German). The compiler creates .rst files from resourcestrings. Enable the i18n option and give a sub directory (usually 'locale', 'languages', 'po' or 'i18n') and the IDE will convert all .rst files into .po files. You can then translate the .po files into one extra .po file for each language. The IDE will update the translations as well. For example when a new resourcestring is added in the source and you compile the IDE will add the string to the base .po file and each translated .po file. The IDE automatically loads these .po files for designtime packages. For your own programs see here.

See also


From the Free Pascal wiki, page "IDE Window: Package Options", as it stood on 2021-02-08 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 1, last changed by WikiArchive .

Edited on wiki.freepascal.org by 7 people, 2006–2021

From the official wiki's backup of 26 May 2024: who edited this page there, and when. Edits made there after that date were not recorded, and the earlier versions are not shown here; the main page says why.

WhenWhoWhat changed
Mattias2
Mattias2
Mattias2
Mattias2Description
Mattias2IDE Integration
Mattias2Update/Rebuild
Mattias2Version
Mattias2Package Type
Swen (minor)
TomboUpdate/Rebuild
Mattias2Add Paths to dependent packages / project
Mattias2Add Paths to dependent packages / project
Mattias2Unit
Mattias2Usage
Mattias2Automatically increment version on build
Mattias2Unit
Mattias2Include
Mattias2
Mattias2Usage
Mattias2Usage
Mattias2Include
Mattias2Unit
Mattias2Unit
Mattias2Add Paths to dependent packages / project
Mattias2Package Type
Mattias2IDE Integration
Chronoscategory
FTurtle
FTurtle
TrevAdd missing images; fix typos; update menu item names; add linked navigation breadcrumbs
AlextppUsage: right-align picture was looked bad (minor)
AlextppUsage: wikify
AlextppDescription: right-aligned pic don't fit here
AlextppDescription
AlextppIDE Integration: right-aligned pic don't fit here
AlextppIDE Integration
AlextppProvides: right-aligned pic breaks formatting
Alextppi18n: right-aligned pic dont fit here
TrevReverted edits by Alextpp (talk) to last revision by Trev (minor)
TrevReverting reversion for better result :=

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.