IDE Macros in paths and filenames

From Free Pascal wiki
Revision as of 10:09, 11 September 2009 by Ggeldenhuys (talk | contribs) (Usage example and better formatting)
Jump to navigationJump to search

Deutsch (de) English (en) español (es) français (fr) português (pt) русский (ru)

Macros are used in the following format. Replacing the macro-name part with one of the macros listed below.

 $(macro-name)

For example: This Unit Output directory format is ofter used for Lazarus Packages:

 lib/$(TargetCPU)-$(TargetOS)

under a x86 Linux 32-bit system that would equate to: lib/i386-linux
under a x86 Linux 64-bit system that would equate to: lib/x86_64-linux

General Purpose

  • Col - current column in source editor
  • Row - current row in source editor
  • CurToken - current token at the cursor in the source editor
  • EdFile - current filename in the source editor
  • MakeExe - path to the 'make' program (gmake under BSD)
  • Params - run parameters of the current project
  • Prompt - ask the user for a value. This is an interactive macro.
  • RunCmdLine - the command to launch the project
  • Save - save current file in source editor
  • SaveAll - save all
  • TargetCmdLine - the project executable plus run parameters

Filename Parts

  • Env(name) - macro function for environment variables given to the IDE (not project nor debugger) (since 0.9.27)
  • Ext() - macro function for ExtractFileExt
  • MakeDir() - macro function for AppendPathDelim
  • MakeFile() - macro function for ChompPathDelim
  • Name() - macro function for ExtractFileName
  • NameOnly() - macro function for ExtractFileNameOnly
  • Path() - macro function for ExtractFilePath

Paths and Parts

  • CompPath - compiler path set in the environment options
  • ConfDir - directory where the IDE stores its config files
  • ExeExt - executable file extension
  • FPCSrcDir - FPC source directory set in environment options
  • FPCVer - FPC version (since 0.9.25). For example '2.2.2'.
  • LanguageID - IDE language, for example en for english, de for german
  • LanguageName - IDE language name, the translated name of the current language. For instance: Deutsch for german.
  • LazarusDir - Lazarus source directory set in environment options
  • LCLWidgetType - LCL widgetset of the current project
  • ProjFile - the full filename of the main source of the current project (.lpr)
  • ProjPath - the project directory (the directory of the .lpi file)
  • TargetFile - the output file of the current project (e.g. the executable or the library)
  • TestDir - Test directory set in the environment options
  • PkgDir() - macro function for the directory (location of the .lpk) of a package ID given as parameter
  • PkgIncPath() - macro function for the include path of a package ID given as parameter
  • PkgOutDir() - macro function for the output directory of a package (e.g. where the ppu files are created)
  • PkgSrcPath() - macro function for the source path of a package ID given as parameter
  • PkgUnitPath() - macro function for the unit path of a package ID given as parameter
  • Project() - macro function for various values
    • Project(UnitPath) - unit path of project directory
    • Project(SrcPath) - source path of project directory
    • Project(IncPath) - include path of project directory
    • Project(InfoFile) - filename of the project information file (.lpi) (since r15287, 0.9.25)
    • Project(OutputDir) - directory where the project's ppu files are created (since 0.9.27)
  • ProjIncPath - include path of project directory
  • ProjOutDir - path of project output directory (e.g. where the .ppu files are created) (since 0.9.27)
  • ProjPublishDir - publishing directory of the current project
  • ProjSrcPath - source path of project directory
  • ProjUnitPath - unit path of project directory
  • SrcOS - 'unix' for linux, darwin, bsd. 'win' for win32, win64, wince
  • TargetCPU - Target CPU of the current project
  • TargetOS - Target OS of the current project